阅读更多
前提备件:与之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:/这个反划线,不是\