亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

收縮Mysql的ibdata1文件大小方法

系統(tǒng) 1847 0
ibdata1是mysql數(shù)據(jù)庫中一個(gè)數(shù)據(jù)文件了,你會(huì)發(fā)現(xiàn)它來越大了,下面我來介紹收縮Mysql的ibdata1文件大小方法


如果你有使用InnoDB來存儲(chǔ)你的Mysql表,使用默認(rèn)設(shè)置應(yīng)該會(huì)碰到個(gè)非常頭疼的問題,在Mysql的數(shù)據(jù)目錄里有個(gè)默認(rèn)只有10MB叫ibdata1的文件沒日沒夜的增長(zhǎng)讓你煩透了吧?里面包含了InnoDB引擎存儲(chǔ)的所有索引和數(shù)據(jù)信息,很可惜Mysql在設(shè)計(jì)的時(shí)候就沒有收縮InnoDB表的功能,這就是為什么你在delete,truncate,drop這些表的時(shí)候這個(gè)文件大小沒有絲毫要減少的原因,而且你還沒辦法直觀的看到哪個(gè) 數(shù)據(jù)庫 占用了大量的ibdata1,這個(gè)坑爹的問題在新版的Mysql中已經(jīng)通過innodb_file_per_table這個(gè)選項(xiàng)來解決了,開啟該選項(xiàng)后,每個(gè)InnoDB表的索引和數(shù)據(jù)都會(huì)按*.ibd命名存儲(chǔ)到各個(gè) 數(shù)據(jù)庫 中,但是這個(gè)選項(xiàng)默認(rèn)是不開啟的。

如上所說,你沒法去收縮InnoDB數(shù)據(jù)文件,你也沒辦法在一臺(tái)沒有打開innodb_file_per_table選項(xiàng)的機(jī)器上直接加上該選項(xiàng)讓他工作,你必須在安裝完Mysql就加上這個(gè)選項(xiàng),或者按照本文介紹的三種方式來操作,無論你做任何操作,請(qǐng)確保你已經(jīng)備份了整個(gè)數(shù)據(jù)庫目錄,也別忘了停掉Mysql相關(guān)的一些服務(wù)。

前兩個(gè)方法需要獲取到Mysql數(shù)據(jù)庫實(shí)例中所有InnoDB的清單,如果你使用的是5.0以上的版本,這一切都很容易:SELECT TABLE_SCHEMA,TABLE_NAME FROM TABLES WHERE ENGINE = ‘InnoDB’;

修改表引擎
1.對(duì)每個(gè)InnoDB表執(zhí)行 ALTER TABLE table_name ENGINE=MyISAM;
2.停止Mysql服務(wù);
3.移除InnoDB相關(guān)文件ibdata1等;
4.修改my.cnf中的參數(shù),添加innodb_file_per_table;
5.啟動(dòng)Mysql服務(wù);
6.將剛才修改后的那些表改回InnoDB:ALTER TABLE table_name ENGINE=InnoDB;
導(dǎo)出InnoDB表
1.使用 mysqldump 命令導(dǎo)出所有的InnoDB表,例如: mysqldump –add-drop-table –extended-insert –disable-keys –quick ‘db_name’ –tables ‘tbl_name’ > ‘db_name.tbl_name.sql’
2.刪掉這些表:?
?SET FOREIGN_KEY_CHECKS=0;
?DROP TABLE db_name.tbl_name;
?DROP TABLE db_name1.tbl_name1;
?–– DROP other tables here…
?SET FOREIGN_KEY_CHECKS=1;
3.停止Mysql服務(wù);
4.移除InnoDB相關(guān)文件ibdata1等;
5.修改my.cnf中的參數(shù),添加innodb_file_per_table;
6.啟動(dòng)Mysql服務(wù);
7.在Mysql Console下導(dǎo)入表:?
?SET FOREIGN_KEY_CHECKS=0;
?SOURCE db_name.tbl_name.sql;
?SOURCE db_name1.tbl_name1.sql;
?–– SOURCE other files here…
?SET FOREIGN_KEY_CHECKS=1;
導(dǎo)出整個(gè)數(shù)據(jù)庫
這個(gè)是我常用的,雖然他和耗磁盤和時(shí)間,但是確實(shí)是最簡(jiǎn)便的:

1.導(dǎo)出所有的數(shù)據(jù): /usr/bin/mysqldump ––extended-insert ––all-databases ––add-drop-database ––disable-keys ––flush-privileges ––quick ––routines ––triggers > all-databases.sql
2.停止Mysql服務(wù);
3.重命名mysql數(shù)據(jù)文件夾;
4.修改my.cnf中的參數(shù),添加innodb_file_per_table;
5.mysql_install_db重新初始化mysqld;
6.開啟Mysql服務(wù);
7.進(jìn)入Mysql Console執(zhí)行:?
?SET FOREIGN_KEY_CHECKS=0;
?SOURCE all-databases.sql;
?SET FOREIGN_KEY_CHECKS=1;
8.重啟數(shù)據(jù)庫測(cè)試OK就領(lǐng)賞去吧。

收縮Mysql的ibdata1文件大小方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品亚洲一区二区三区久久 | 精品国产自在现线看久久 | 久久国产精品免费 | 日本阿v精品视频在线观看 日本爱爱免费视频 | 久久 在线 | 欧美精品成人久久网站 | 亚洲va在线va天堂va四虎 | 国产欧美一区二区另类精品 | 亚洲人成激情在线播放 | 宅男看片午夜大片啪啪mv | 视频福利一区 | 亚洲一级毛片欧美一级说乱 | 欧美日韩免费在线视频 | 一区二区三区四区亚洲 | 九九久久九九 | 国产伦理精品 | 四虎影视在线影院www | 久久精品国产精品青草不卡 | 一级特级欧美aa毛片免费 | 国产日韩欧美在线 | 亚洲人成影院午夜网站 | 夜夜躁日日躁狠狠 | 91网站国产 | 国产精品乱码在线观看 | 99久热在线精品视频观看 | 亚洲国产精品久久久天堂 | 亚洲欧美综合在线观看 | 亚洲精品在线播放视频 | 午夜999 | 精品一区二区三区 不卡高清 | 天天插天天操 | 国产一区二区三区在线影院 | 日韩欧美一级毛片精品6 | 99国产福利视频区 | 爱爱夜夜爽成人夜夜爽 | 欧美大片aaaa一级毛片 | 天天操夜夜操免费视频 | 超激情碰碰碰啪在线视频 | 成人网在线看 | 日韩欧美综合在线 | 老扒夜夜春宵粗大好爽aa毛片 |