国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

2024-07-24 12:54:04
字體:
來源:轉載
供稿:網友

mysql的innodb擴容
為了添加一個數據文件到表空間中,首先要關閉 MySQL 數據庫,編輯 my.cnf 文件,確認innodb ibdata文件的實際情況和my.cnf的配置是否一致,這里有兩種情況:
1.my.cnf的配置

innodb_data_file_path=ibdata1:10G;ibdata2:10G:autoextend

如果當前數據庫正在使用ibdata1,或者使用ibdata2,但ibdata2沒有超過10G,則對my.cnf配置直接改成:

innodb_data_file_path=ibdata1:10G;ibdata2:10G;ibdata3:10G:autoextend

2.如果設置了最后一個ibdata自動擴展時,有可能最后一個ibdata的占用空間大于my.cnf的配置空間。例如:

mysql@test:/data1/mysqldata/innodb/data> ls -lh
-rw-rw---- 1 mysql mysql 10737418240 2010-01-26 16:34 ibdata1 -rw-rw---- 1 mysql mysql 16106127360 2010-01-26 16:34 ibdata2

這時,需要精確的計算ibdata2的大小 15360M,修改:

innodb_data_file_path=ibdata1:10G;ibdata2:15360M;ibdata3:10G:autoextend

重啟mysql。
注意:
1、擴容前注意磁盤空間是否足夠。
2、restart后關注是否生成了新的ibdata。
更多說明:
如果,最后一個文件以關鍵字 autoextend 來描述,那么編輯 my.cnf 的過程中,必須檢查最后一個文件的尺寸,并使它向下接近于 1024 * 1024 bytes (= 1 MB) 的倍數(比方說現在autoextend 的/ibdata/ibdata1為18.5M,而在舊的my.ini中為10M,則需要修改為innodb_data_file_path = /ibdata/ibdata1:19M; 且必須是19M,如果指定20M,就會報錯。),并在 innodb_data_file_path 中明確指定它的尺寸。然后你可以添加另一個數據文件。記住只有 innodb_data_file_path 中的最后一個文件可以被指定為 auto-extending。
一個例子:假設起先僅僅只有一個 auto-extending 數據文件 ibdata1 ,這個文件接近于 988 MB。下面是添加了另一個 auto-extending 數據文件后的可能示例 。

innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend

ibdata1 瘦身

0. ibdata1里存了什么

當你啟用了 innodb_file_per_table,表被存儲在他們自己的表空間里,但是共享表空間仍然在存儲其它的 InnoDB 內部數據:
(1)數據字典,也就是 InnoDB 表的元數據
(2)變更緩沖區
(3)雙寫緩沖區
(4)撤銷日志

其中的一些在 Percona 服務器上可以被配置來避免增長過大的。例如你可以通過 innodb_ibuf_max_size 設置最大變更緩沖區,或設置 innodb_doublewrite_file 來將雙寫緩沖區存儲到一個分離的文件。

MySQL 5.6 版中你也可以創建外部的撤銷表空間,所以它們可以放到自己的文件來替代存儲到 ibdata1。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 油尖旺区| 大化| 修水县| 石林| 石首市| 临邑县| 海原县| 白银市| 河西区| 和平县| 竹山县| 厦门市| 宜兰县| 偃师市| 邢台县| 济南市| 镇安县| 东乌珠穆沁旗| 阳谷县| 临清市| 明溪县| 永州市| 来凤县| 登封市| 海宁市| 新建县| 沂南县| 明光市| 尚志市| 龙泉市| 岫岩| 天柱县| 筠连县| 安图县| 保康县| 永德县| 定日县| 时尚| 天水市| 安仁县| 鲁山县|