溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL ibdata1文件太大的解決辦法

發(fā)布時間:2020-06-07 21:50:27 來源:網(wǎng)絡 閱讀:21794 作者:cj31415 欄目:數(shù)據(jù)庫

    在MySQL數(shù)據(jù)庫中,如果不指定innodb_file_per_table=1參數(shù)單獨保存每個表的數(shù)據(jù),MySQL的數(shù)據(jù)都會存放在ibdata1文件里,時間久了這個文件就會變的非常大。

    下面是參考網(wǎng)上的一些資料,把數(shù)據(jù)分別保存在各數(shù)據(jù)庫子目錄里的方法,這樣新產(chǎn)生的ibdata1文件就不會太大了。下面是在Ubuntu 14.04.12 x64,MySQL5.5上對ibdata1進行瘦身,操作過程的整理。


1、備份數(shù)據(jù)庫中的數(shù)據(jù)。

mysqldump -u root -p --extended-insert --all-databases --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers > /home/all-database.sql

//有的文檔用的是這樣的參數(shù):mysqldump -q -uroot -p --add-drop-table --all-databases --events >/home/all-database.sql 

如果ibdata1上百GB,備份過程可能需要幾小時。


2、停止MySQL服務。

service mysql stop


3、刪除ibdata1、ib_logfile*等文件

mv ibdata1 ibdata1.20160419

mv ib_logfile0 ib_logfile0.20160420

mv ib_logfile1 ib_logfile1.20160420


4、修改my.cnf配置文件

vi /etc/mysql/my.cnf

在[mysqld]子項下增加如下配置:

innodb_file_per_table = 1 


5、刪除MySQL、performance_schema之外的所有數(shù)據(jù)庫

cd /var/lib/mysql

rm -rf zabbix

服務器上只有Zabbix數(shù)據(jù)庫。


6、重啟MySQL服務

service mysql start

ps -ef|grep mysql


7、恢復數(shù)據(jù)(重新導入數(shù)據(jù))

mysql -u root -p

Enter password: 

>source /home/all-databaes.sql

>exit

//有的文檔用這樣的命令格式:mysql -uroot -p < /home/all-database.sql 

Enter password:  

    其中的/home/all-database.sql即為第一步備份生成的文件,如果原來數(shù)據(jù)庫中數(shù)據(jù)較多,還原過程可能會持續(xù)較長時間,請耐心等待還原完成。如果超過30個小時還沒完成,可能要考慮中止恢復數(shù)據(jù)操作,先清除一部分table中的數(shù)據(jù),從步驟1重新開始。如果table中記錄特多又可以全部刪除,用truncate <tablename>速度比較快。


    經(jīng)過以上幾步后,可以看到新的ibdata1文件就只有幾十兆了,數(shù)據(jù)及索引都變成了針對單個表的小

ibd文件了,它們在相應數(shù)據(jù)庫的文件夾下面。


    百度文庫中有篇文檔“解決ibdata1文件過大問題操作手冊”寫的更詳細。鏈接為:http://wenku.baidu.com/link?url=2qj73zDqwLwNIAPg6tB60c20wAE6a_2IIcJ8fGb2EUk0rmRdxqq2Wc0yAgnx7hoJ-dICC4rzhC9I0rWdgLVV-avatmeuCh74JxRE22NE4N_

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI