1. 程式人生 > >windows mysql處理ibdata1檔案過大

windows mysql處理ibdata1檔案過大

前提備件:與之mysql有關聯的服務需要停止,禁止繼續寫入
Windows 2008環境
mysql版本:5.5.14
mysql/data 下面的ibdata1檔案過大
解決辦法:
1、把該庫進行邏輯備份:
進入到mysql安裝的bin目錄下執行以下命令
mysqldump -uroot -p123456 --all-databases >D:/mysql/mysql-all.sql
2、查看錶空間是否開啟
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
1 row in set (0.00 sec)
說明:OFF代表mysql是共享表空間
3、停止mysql
在服務中直接停止/啟動mysql
windows:在資源管理器中啟動和停止,或者在執行中命令中執行 net stop/start mysql
linux下/etc/init.d/mysqld stop/start
4、檢視是否已經開啟
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
5、備份成功後需要把ibdata1及ib_logfile0/ib_logfile1也要刪除
刪除後該庫的表無法使用,需要把該庫刪除,然後再進行匯入備份檔案
6、匯入命令:
mysql -uroot -p123456 < D:/mysql/mysql-all.sql
注:D:/這個反劃線,不是\