Dan*_*Dan 7 mysql innodb ibdata
我设置了 innodb_file_per_table 并且就在今天,在我对 800M 表进行了几次更改以将其减少到大约 600M 之后,我的 ibdata1 文件从 59M 跳到了 323M。该特定表的 .ibd 文件减少了,但服务器的 ibdata1 文件变得疯狂。有任何想法吗?
您可能会觉得这很奇怪,但是您知道 ibdata1 有几个移动部件吗?即使启用了innodb_file_per_table,这里的信息类也存储在 ibdata1 中

什么可以让ibdata1突然增长?
根据mysqlperformanceblog.com 的Reasons for run-away main Innodb Tablespace:
只要您的 InnoDB 数据集总量相对较小并且您想缩小 ibdata1,您可以执行以下操作:
步骤 01:安排停机时间
步骤02:mysqldump所有数据库到/root/MySQLData.sql
mysqldump -uroot -p --all-databases --routines --triggers > /root/MySQLData.sql
Run Code Online (Sandbox Code Playgroud)
步骤 03:运行SET GLOBAL innodb_fast_shutdown = 0;
mysql步骤 04:删除除和information_schema数据库之外的所有数据库
步骤05:service mysql stop
步骤06:rm -f /var/lib/mysql/ib*
步骤 07:(service mysql start重新创建 ibdata1、ib_logfile0、ib_logfile1)
步骤08:登录mysql
步骤 09:在 mysql 提示符下,运行mysql> source /root/MySQLData.sql
就是这样。我已经做过很多很多次了:Howto:清理 mysql InnoDB 存储引擎?
从这里开始,您只需要忍受交易带来的奇怪增长。
试一试 !!!
| 归档时间: |
|
| 查看次数: |
3052 次 |
| 最近记录: |