在mysql 5.6.6版本以前,mysql缺省會把所有的innodb的表都放在同乙個檔案中(ibdata1),當該檔案過大的時候,mysql容易出錯,維護效能差。
但那些在修改之前已經建立了innodb的表怎麼辦?
一種辦法是用mysqldump備份所有資料庫後重建所有資料庫,步驟如下
mysqldump -u -p --all-databases > backup.sql匯出所有資料
刪除所有資料庫 drop database database_n
停止mysql服務service mysql stop如果是mariadb就是service mariadb stop
刪除檔案ibdata1, ib_logfile0, ib_logfile1
修改mysql配置檔案/etc/my.cnf,增加或修改如下:
[mysqld]
innodb_file_per_table=1
重啟mysql服務service mysql start如果是mariadb就是service mariadb start
匯入備份資料mysql -u -p < backup.sql隨筆
mysql ibdata1檔案的縮小
mysql ibdata1檔案的縮小 2009 12 22 15 29 46 標籤 it mysql ibdata1存放資料,索引等,是mysql的最主要的資料。如果不把資料分開存放的話,這個檔案的大小很容易就上了g,甚至10 g。對於某些應用來說,並不是太合適。因此要把此檔案縮小。方法 資料檔案單...
釋放MySQL ibdata1檔案的空間
在mysql資料庫中,如果不指定innodb file per table引數,單獨存在每個表的資料,mysql的資料都會存放在ibdata1檔案。mysql ibdata1存放資料,索引等,是mysql的最主要的資料。步驟 1,備份資料庫 從命令列進入mysql server 5.1 bin 備份...
釋放MySQL ibdata1檔案的空間
在mysql資料庫中,如果不指定innodb file per table引數,單獨存在每個表的資料,mysql的資料都會存放在ibdata1檔案。mysql ibdata1存放資料,索引等,是mysql的最主要的資料。步驟 1,備份資料庫 從命令列進入mysql server 5.1 bin 備份...