1、在不需要日志的前提下,执行SQL以释放硬盘空间:
-- 这个命令会清空mysql-bin文件
reset master;
2、执行delete语句删除对应表的数据
3、使用OPTIMIZE TABLE语句释放表空间占用:
OPTIMIZE TABLE [TABLENAME];
-- 如:OPTIMIZE TABLE sys_user
4、如果执行OPTIMIZE TABLE时,数据库提示“Table does not support optimize, doing recreate analyze instead”。进行如下处理:
4.1、在linux中,执行下面指令查看mysql进程:
ps aux | grep mysqld
4.2、如下图,第二个mysql开头,进程号26803即为mysql进程,复制后面/usr开始到最后的指令:
4.3、停止mysql服务:
service mysqld stop
4.4、粘贴复制的指令,并加上 --skip-new(注意--前要有空格)回车执行,如下图:
/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --skip-new
4.5、linux命令行不要动,到数据库中执行OPTIMIZE TABLE语句即可。
|