<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    mysql data文件夾下的ibdata1 文件作用

    ?
    這個文件超級大, 查了一下, 大概的作用如下

    是儲存的格式
    INNODB類型數據狀態下,
    ibdata用來儲存文件的數據
    而庫名的文件夾里面的那些表文件只是結構而已

    由于mysql4.1默認試innodb,所以這個文件默認就存在了http://man.chinaunix.net/database/mysql/inonodb_zh/2.htm 這個鏈接試innodb的中文參考, innodb的東西可以在my.ini中設置

    innodo中文參考全文如下

    InnoDB 啟動選項

    為了在 MySQL-Max-3.23 中使用 InnoDB 表,你必須在配置文件‘my.cnf’‘my.ini’(WINDOWS系統)中的 [mysqld] 區中詳細指定配置參數。

    作為最小設置,在 3.23 中你必須在 innodb_data_file_path 上指定數據文件名能及大小。如果在‘my.cnf’中沒有指定innodb_data_home_dir,系統將在 MySQL 的 datadir 目錄下創建數據文件。如果將 innodb_data_home_dir 設為一個空串,那可以在 innodb_data_file_path 中給定一個絕對路徑。在 MySQL-4.0 中可以不設定 innodb_data_file_path :MySQL-4.0 將默認地在 datadir 目錄下建立一個 10 MB 大小自擴充(auto-extending)的文件‘ibdata1’(在MySQL-4.0.0 與 4.0.1 中數據文件的大小為 64 MB 并且是非自擴充的(not auto-extending))。

    為了得到更好的性能你必須所示的例子明確地設定 InnoDB 啟動參數。

    從 3.23.50 版和 4.0.2 版開始,InnoDB 允許在 innodb_data_file_path 中設置的最一個數據文件描述為 auto-extendinginnodb_data_file_path 語法如下所示:

    pathtodatafile:sizespecification;pathtodatafile:sizespec;...
    ...;pathtodatafile:sizespec[:autoextend[:max:sizespecification]]
    如果用 autoextend 選項描述最后一個數據文件,當 InnoDB 用盡所有表自由空間后將會自動擴充最后一個數據文件,每次增量為 8 MB。示例:
    innodb_data_home_dir =
    innodb_data_file_path = /ibdata/ibdata1:100M:autoextend
    指定 InnoDB 只建立一個最初大小為 100 MB 并且當表空間被用盡時以 8MB 每塊增加的數據文件。如果硬盤空間不足,可以再添加一個數據文件并將其放在其它的硬盤中。 舉例來說:先檢查硬盤空間的大小,設定 ibdata1 文件使它接近于硬盤空余空間大小并為 1024 * 1024 bytes (= 1 MB)的倍數, 將 ibdata1 明確地指定在 innodb_data_file_path 中。在此之后可以添加另一個數據文件:
    innodb_data_home_dir =
    innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend
    注意:設定文件大小時一定要注意你的OS是否有最大文件尺寸為2GB的限制!InnoDB是不會注意你的OS文件尺寸限制的, 在一些文件系統中你可能要設定最大容量限制:
    innodb_data_home_dir =
    innodb_data_file_path = /ibdata/ibdata1:100M:autoextend:max:2000M

     

    一個簡單的 my.cnf 例子。 假設你的計算機有 128 MB RAM 和一個硬盤。下面的例子是為了使用 InnoDB 而在 my.cnfmy.ini 文件中可能所作的一些配置。我們假設你運行的是 MySQL-Max-3.23.50 及以上版本,或 MySQL-4.0.2 及以上版本。

    這個示例適合大部分不需要將 InnoDB 數據文件和日志文件放在幾個盤上的 Unix 和 Windows 用戶。這個例子在 MySQL 的datadir 目錄(典型的為 /mysql/data)中創建一個自擴充(auto-extending)的數據文件 ibdata1 和兩個 InnoDB 運行日志文件ib_logfile0 ib_logfile1 以及 ib_arch_log_0000000000 檔案文件。

    [mysqld]
    #在這里加入其它 的 MySQL 服務器配置
    #...
    # 數據文件必須
    # 能夠容下數據與索引
    # 確定有足夠的
    # 磁盤空間
    innodb_data_file_path = ibdata1:10M:autoextend
    # 設置緩沖池的大小為
    # 你的主內存大小的
    # 50 - 80 %
    set-variable = innodb_buffer_pool_size=70M
    set-variable = innodb_additional_mem_pool_size=10M
    # 設置日志文件的大小約為
    # 緩沖池(buffer pool)
    # 大小的 25 %
    set-variable = innodb_log_file_size=20M
    set-variable = innodb_log_buffer_size=8M
    # 如果丟失最近幾個事務影響
    # 不大的話可以設置
    # .._flush_log_at_trx_commit = 0
    innodb_flush_log_at_trx_commit=1

    InnoDB 不會自己建立目錄,必須自己使用操作系統命令建立相應的目錄。檢查你的 MySQL 服務程序在 datadir 目錄里 有足夠的權限建立文件。

    注意:在某些文件系統中 數據文件大小必須小于2G! 所有運行日志文件的大小總和必須小于 2G 或 4G,這依賴于具體的 MySQL 系統版本。 數據文件的總和必須大于等于 10 MB.

    當第一次建立 InnoDB 數據庫時,建議最好以命令行方式啟動 MySQL 服務。這樣 InnoDB 數據庫建立時的提示信息將在屏幕上顯示,從而可以看到建立過程。 下面第 3 節所示就是 InnoDB 數據庫建立時的屏幕顯示。例如,在 Windows 下使用下列指令啟動 mysqld-max.exe

    your-path-to-mysqld>mysqld-max --console

     

    在 Windows 系統下 my.cnfmy.ini 放在哪里?規則如下 :

    • 只能存在一個 my.cnf my.ini 文件
    • my.cnf 文件必須放在 C: 的根目錄下
    • my.ini 文件必須放在 WINDIR 目錄下,例:C:\WINDOWSC:\WINNT。可以使用 MS-DOS 的 SET 命令查看 WINDIR 目錄值
    • 如果你的 PC 使用啟動引導程序引導系統而 C: 不是啟動磁盤,那只能唯一地使用 my.ini 作為設置文件

     

    Unix 下在哪里指定配置文件?在 Unix 下 mysqld 按下列順序搜索配置文件:

    • /etc/my.cnf 全局選項
    • COMPILATION_DATADIR/my.cnf 服務器范圍的選項
    • defaults-extra-file 采用 --defaults-extra-file=.... 設置的默認文件
    • ~/.my.cnf 用戶指定文件
    COMPILATION_DATADIR 是 MySQL 的數據文件目錄,它是在 mysqld 被編譯時以 ./configure 設置指定 (典型的是 /usr/local/mysql/data 二進制安裝或 /usr/local/var 以源安裝)。

     

    如果不有確定 mysqld 從哪里讀取 my.cnfmy.ini,可以在第一命令行上詳細指定它的目錄:mysqld --defaults-file=your_path_to_my_cnf

    InnoDB 的數據文件目錄是對 innodb_data_home_dirinnodb_data_file_path 的數據文件名或目錄聯合 ,如果需要將在它們之間增加一個“/”或“\”。如果關鍵字 innodb_data_home_dir 沒有在 my.cnf 中明確指定,它的默認值為“.”,即目錄“./”,這意味著 MySQL 的 datadir of MySQL.

    一個高級的 my.cnf 示例。假設你有一臺 2 GB RAM 和3個 60 GB 硬盤(路徑分別為 "/", "/dr2"“/dr3”)裝有 Linux。下面的例子是為了使用 InnoDB 而在 my.cnf 文件中可能所作的一些配置。

    注意:InnoDB 不會自己創建文件目錄:你必須自己創建它們。使用 Unix 或 MS-DOS mkdir 命令建立相應的數據與日志文件目錄。

    [mysqld]
    #在這里加入其它 的 MySQL 服務器配置
    #...
    # 如果不使用InnoDB表將一列一行注釋去除
    # skip-innodb
    #
    # 數據文件必須
    # 能夠容下數據與索引
    # 確定有足夠的
    # 磁盤空間
    innodb_data_file_path = /ibdata/ibdata1:2000M;/dr2/ibdata/ibdata2:2000M:autoextend
    # 設置緩沖池的大小為
    # 你的主內存大小的
    # 50 - 80 %,但是
    # 在 Linux x86 總內存
    # 使用必須小于 2 GB
    set-variable = innodb_buffer_pool_size=1G
    set-variable = innodb_additional_mem_pool_size=20M
    innodb_log_group_home_dir = /dr3/iblogs
    # .._log_arch_dir 必須和
    # .._log_group_home_dir一樣;
    # 從 4.0.6開始,可以省略它
    innodb_log_arch_dir = /dr3/iblogs
    set-variable = innodb_log_files_in_group=3
    # 設置日志文件的大小約為
    # 緩沖池(buffer pool)
    # 大小的 15 %
    set-variable = innodb_log_file_size=150M
    set-variable = innodb_log_buffer_size=8M
    # 如果丟失最近幾個事務影響
    # 不大的話可以設置
    # .._flush_log_at_trx_commit = 0
    innodb_flush_log_at_trx_commit=1
    set-variable = innodb_lock_wait_timeout=50
    #innodb_flush_method=fdatasync
    #set-variable = innodb_thread_concurrency=5

    注意:我們已在不同的硬盤上放置了兩個數據文件, InnoDB 將從數據文件的底部填充表空間。在某些情況下所有的數據被分配到不同的物理硬盤中會提高數據庫的性能。 將日志文件與數據文件分別放在不同的物理硬盤中對提高性能通常是很有益的。你同樣可以使用一個 RAW 磁盤分區( raw disk partitions(raw devices)) 作為數據文件, 在一些 Unixe 系統中這將提高 I/O 能力。 如何在 my.cnf 中詳細指定它們請查看第 12.1 節。

    警告:在 Linux x86 上必須小心不能將內存使用設置太高, glibc 會把進程堆增長到線程堆棧之上,這將會使服務器崩潰。下面的接近或超過于 2G 將會很危險:

    innodb_buffer_pool_size + key_buffer +
    max_connections * (sort_buffer + record_buffer) + max_connections * 2 MB
    每個線程將使用 2MB(MySQL AB 二進制版本為 256 KB)的堆棧,在最壞的環境下還會使用 sort_buffer + record_buffer 的附加內存。

     

    如何調整其它的 mysqld 服務器參數?查看 MySQL 用戶手冊可以得到更詳細的信息。適合大多數用戶的典型參數如下所示:

             skip-locking
    set-variable = max_connections=200
    set-variable = record_buffer=1M
    set-variable = sort_buffer=1M
    # 設置索引緩沖(key_buffer)大小為
    # 你的 RAM 的 5 - 50% ,這主要依賴于
    # 系統中 MyISAM 表使用量。
    # 但是必須保證索引緩沖(key_buffer)與 InnoDB
    # 的緩沖池(buffer pool)大小總和
    # 小于 RAM 的 80%。
    set-variable = key_buffer=...

     

    注意:在 my.cnf 文件中有些參數是為了設置數字的,它們的設置格式為:set-variable = innodb... = 123,而其它(字符串和邏輯型)的采用另一設置格式:innodb_... = ... .

    各設置參數的含義如下:

    innodb_data_home_dir

    這是InnoDB表的目錄共用設置。如果沒有在 my.cnf 進行設置,InnoDB 將使用MySQL的 datadir 目錄為缺省目錄。如果設定一個空字串,可以在 innodb_data_file_path 中設定絕對路徑。

    innodb_data_file_path單獨指定數據文件的路徑與大小。數據文件的完整路徑由 innodb_data_home_dir 與這里所設定值的組合。 文件大小以 MB 單位指定。因此在文件大小指定后必有“M”。 InnoDB 也支持縮寫“G”, 1G = 1024M。從 3.23.44 開始,在那些支持大文件的操作系統上可以設置數據文件大小大于 4 GB。而在另一些操作系統上數據文件必須小于 2 GB。數據文件大小總和至少要達到 10 MB。在 MySQL-3.23 中這個參數必須在 my.cnf 中明確指定。在 MySQL-4.0.2 以及更新版本中則不需如此,系統會默認在 MySQL 的 datadir 目錄下創建一個 16 MB 自擴充(auto-extending)的數據文件 ibdata1。你同樣可以使用一個 原生磁盤分區(RAW raw disk partitions(raw devices)) 作為數據文件, 如何在 my.cnf 中詳細指定它們請查看第 12.1 節。
    innodb_mirrored_log_groups為了保護數據而設置的日志文件組的拷貝數目,默認設置為 1。在 my.cnf 中以數字格式設置。
    innodb_log_group_home_dirInnoDB 日志文件的路徑。必須與 innodb_log_arch_dir 設置相同值。 如果沒有明確指定將默認在 MySQL 的 datadir 目錄下建立兩個 5 MB 大小的 ib_logfile... 文件。
    innodb_log_files_in_group日志組中的日志文件數目。InnoDB 以環型方式(circular fashion)寫入文件。數值 3 被推薦使用。在 my.cnf 中以數字格式設置。
    innodb_log_file_size日志組中的每個日志文件的大小(單位 MB)。如果 n 是日志組中日志文件的數目,那么理想的數值為 1M 至下面設置的緩沖池(buffer pool)大小的 1/n。較大的值,可以減少刷新緩沖池的次數,從而減少磁盤 I/O。但是大的日志文件意味著在崩潰時需要更長的時間來恢復數據。 日志文件總和必須小于 2 GB,3.23.55 和 4.0.9 以上為小于 4 GB。在 my.cnf 中以數字格式設置。
    innodb_log_buffer_sizeInnoDB 將日志寫入日志磁盤文件前的緩沖大小。理想值為 1M 至 8M。大的日志緩沖允許事務運行時不需要將日志保存入磁盤而只到事務被提交(commit)。 因此,如果有大的事務處理,設置大的日志緩沖可以減少磁盤I/O。 在 my.cnf 中以數字格式設置。
    innodb_flush_log_at_trx_commit通常設置為 1,意味著在事務提交前日志已被寫入磁盤, 事務可以運行更長以及服務崩潰后的修復能力。如果你愿意減弱這個安全,或你運行的是比較小的事務處理,可以將它設置為 0 ,以減少寫日志文件的磁盤 I/O。這個選項默認設置為 0。
    innodb_log_arch_dirThe directory where fully written log files would be archived if we used log archiving. 這里設置的參數必須與 innodb_log_group_home_dir 相同。 從 4.0.6 開始,可以忽略這個參數。
    innodb_log_archive這個值通常設為 0。 既然從備份中恢復(recovery)適合于 MySQL 使用它自己的 log files,因而通常不再需要 archive InnoDB log files。這個選項默認設置為 0。
    innodb_buffer_pool_sizeInnoDB 用來高速緩沖數據和索引內存緩沖大小。 更大的設置可以使訪問數據時減少磁盤 I/O。在一個專用的數據庫服務器上可以將它設置為物理內存的 80 %。 不要將它設置太大,因為物理內存的使用競爭可能會影響操作系統的頁面調用。在 my.cnf 中以數字格式設置。
    innodb_additional_mem_pool_sizeInnoDB 用來存儲數據字典(data dictionary)信息和其它內部數據結構(internal data structures)的存儲器組合(memory pool)大小。理想的值為 2M,如果有更多的表你就需要在這里重新分配。如果 InnoDB 用盡這個池中的所有內存,它將從操作系統中分配內存,并將錯誤信息寫入 MySQL 的錯誤日志中。在 my.cnf 中以數字格式設置。
    innodb_file_io_threadsInnoDB 中的文件 I/O 線程。 通常設置為 4,但是在 Windows 下可以設定一個更大的值以提高磁盤 I/O。在 my.cnf 中以數字格式設置。
    innodb_lock_wait_timeout在回滾(rooled back)之前,InnoDB 事務將等待超時的時間(單位 秒)。InnoDB 會自動檢查自身在鎖定表與事務回滾時的事務死鎖。如果使用 LOCK TABLES 命令,或在同一個事務中使用其它事務安全型表處理器(transaction safe table handlers than InnoDB),那么可能會發生一個 InnoDB 無法注意到的死鎖。在這種情況下超時將用來解決這個問題。這個參數的默認值為 50 秒。在 my.cnf 中以數字格式設置。
    innodb_flush_method這個參數僅僅與 Unix 相關。這個參數默認值為 fdatasync。 另一個設置項為 O_DSYNC。這僅僅影響日志文件的轉儲,在 Unix 下以 fsync 轉儲數據。InnoDB 版本從 3.23.40b 開始,在 Unix 下指定 fdatasync 為使用 fsync 方式、指定 O_DSYNC 為使用 O_SYNC 方式。由于這在某些 Unix 環境下還有些問題所以在 'data' versions 并沒有被使用。
    innodb_force_recovery警告:此參數只能在你希望從一個被損壞的數據庫中轉儲(dump)數據的緊急情況下使用! 可能設置的值范圍為 1 - 6。查看下面的章節 'Forcing recovery' 以了解這個參數的具體含義。參數設置大于 0 的值代表著 InnoDB 防止用戶修改數據的安全度。從 3.23.44 開始,這個參數可用。在 my.cnf 中以數字格式設置。
    innodb_fast_shutdownInnoDB 缺少在關閉之前清空插入緩沖。這個操作可能需要幾分鐘,在極端的情況下可以需要幾個小時。如果這個參數據設置為 1 ,InnoDB 將跳過這個過程而直接關閉。從 3.23.44 和 4.0.1 開始,此參數可用。從 3.23.50 開始,此參數的默認值為 1。
    innodb_thread_concurrencyInnoDB 會試圖將 InnoDB 服務的使用的操作系統進程小于或等于這里所設定的數值。此參數默認值為 8。如果計算機系統性能較低或 innodb_monitor 顯示有很多線程等侍信號,應該將這個值設小一點。如果你的計算機系統有很我的處理器與磁盤系統,則可以將這個值設高一點以充分利用你的系統資源。建議設值為處理器數目+ 磁盤數目。 從 3.23.44 和 4.0.1 開始,此參數可用。在 my.cnf 中以數字格式設置。

    posted on 2008-04-17 13:56 金家寶 閱讀(37398) 評論(0)  編輯  收藏 所屬分類: Mysql

    主站蜘蛛池模板: 亚洲日本一线产区和二线| 中文日本免费高清| 亚洲国产电影av在线网址| 国精产品一区一区三区免费视频| 亚洲福利一区二区精品秒拍| 日韩免费无码一区二区视频 | 五月婷婷免费视频| 亚洲精品线在线观看| 成年女人免费v片| 中文字幕免费观看全部电影| 亚洲国产精品白丝在线观看| 亚洲精品国产自在久久| 67194国产精品免费观看| 男男gay做爽爽免费视频| 97亚洲熟妇自偷自拍另类图片| 日韩在线免费电影| 8x网站免费入口在线观看| 一级毛片大全免费播放| 亚洲av无码不卡久久| 欧洲亚洲国产清在高| 在线免费观看韩国a视频| 99久久久国产精品免费牛牛 | 免费很黄无遮挡的视频毛片| 亚洲美女免费视频| 亚洲情XO亚洲色XO无码| 日韩免费视频网站| 91视频国产免费| 99热这里只有精品6免费| av成人免费电影| 亚洲国产高清国产拍精品| 久久久久亚洲AV无码专区体验| 日产国产精品亚洲系列| 在线观看无码AV网站永久免费| 免费无码又爽又刺激网站| 免费无遮挡无码视频在线观看| 亚洲娇小性xxxx| 亚洲精品福利网泷泽萝拉| 亚洲欧洲∨国产一区二区三区| 国产一区在线观看免费| 日韩毛片免费无码无毒视频观看 | 久久www免费人成看片|