1 备份有用的mysql 数据库
导出所有的数据库
Root 用户下
/usr/local/zenoss/mysql/bin/mysqldump -uroot -p111111 --quick --force --routines --add-drop-database --all-databases --add-drop-table > /usr/local/zenoss/zenoss/document/mysqldump.sql
可以指定任意路径,方便导入
可以drop没有用的数据库和表,节省时间
2 停止数据库
/usr/local/zenoss/mysql/scripts/ctl.sh stop
3 Mysql瘦身
3.1 删除大文件
cd /usr/local/zenoss/mysql/data/
可以执行shopt -s extglob
rm -rf !(mysql)
打开extglob模式 执行完可以关闭 shopt –u extglob
4 启动数据库
/usr/local/zenoss/mysql/scripts/ctl.sh start
5 还原数据
/usr/local/zenoss/mysql/bin/mysql -uDBuser -pPassword < /usr/local/zenoss/zenoss/document/mysqldump.sql
导入路径是第一步的导出路径
或者直接运行脚本文件shrink.sh,代码如下:
#!/bin/sh
#/usr/local/zenoss/zenoss/bin/zenoss stop
cd /usr/local/zenoss/zenoss
mkdir document
/usr/local/zenoss/mysql/bin/mysqldump -uroot -p111111 --quick --force --routines --add-drop-database --all-databases --add-drop-table > /usr/local/zenoss/zenoss/document/mysqldump.sql
/usr/local/zenoss/mysql/scripts/ctl.sh stop
cd /usr/local/zenoss/mysql/data/
shopt -s extglob
rm -rf !(mysql|`hostname`.pid)
shopt -u extglob
/usr/local/zenoss/mysql/scripts/ctl.sh start
/usr/local/zenoss/mysql/bin/mysql -uroot -p111111 < /usr/local/zenoss/zenoss/document/mysqldump.sql
#/usr/local/zenoss/zenoss/bin/zenoss start