Ibdata1过大
原因:ibdata1是存储格式,在INNODB类型数据状态下,ibdata1用来存储文件的数据和索引,而库名的文件夹里的那些表文件只是结构而已。InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,这样就感觉不爽,增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题。通常只能将数据使用mysqldump 导出,然后再导入解决这个问题。
1,备份全部数据库,执行命令mysqldump -q -uusername -pyourpassword --add-drop-table -all-databases > /all.sql做完此步后,停止数据库服务。 2,修改mysql配置文件 修改my.ini文件,增加下面配置 innodb_file_per_table = 1对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件 3,删除原数据文件 删除原来的ibdata1文件及日志文件ib_logfile*,删除/var/lib/mysql目录下应用数据库文件夹(mysql文件夹不要删) 4,还原数据库 启动数据库服务 还原全部数据库,执行命令mysql -uusername -pyourpassword < /all.sql
mysql-bin过大
查看关于binlog的配置信息mysql> show variables like '%max_binlog_size%';
重置日志文件,清空原来的日志索引顺序,产生新的日志。mysql>reset master;
删除7天前的日志mysql>PURGE BINARY LOGS BEFORE DATE_SUB(NOW( ), INTERVAL 7 DAY);
删除某日志文件mysql>PURGE BINARY LOGS to 'xxx.log';
转载于:https://www.cnblogs.com/sexy/articles/3907623.html
