mysql压缩备份导入导出

mysqldump工具自带选项没有对导出备份文件压缩功能,可结合gzip只使用一条命令压缩导出文件,方法如下:

mysqldump压缩导出:
# mysqldump -h192.168.0.3 -P3306 -uroot -ppwd123 --single-transaction --default-character-set=utf8 -R -E zabbix --log-error=zabbix2018030709.log |gzip > zabbix2018030709.sql.gz

 

参数解释:
-h    正式DB IP
-P    正式DB Port
-u    正式DB賬號
-p    正式DB賬號對應密碼
-R    導出存儲過程和函數
-E    導出事件
--single-transaction        事务一致性備份
--default-character-set    字符集,和正式db字符集一致
--log-error    錯誤日誌文件,如果備份時無錯誤發生,只寫空文件,有錯誤話寫具體內存
zabbix    导出DB name

 

mysqldump压缩导出后导入:
# gunzip < zabbix2018030709.sql.gz |mysql -uroot -ppwd123 zabbix

將mysqldump压缩导出寫成shell腳本(可供conrtab定時執行)
# vi zabbixdbbak.sh 
FILENAME=`date +%Y%m%d%H`
cd /data/dbbak
mysqldump -h192.168.0.3 -P3306 -uroot -ppwd123 --single-transaction --default-character-set=utf8 -R -E zabbix --log-error='zabbix'$FILENAME.log |gzip > 'zabbix'$FILENAME.sql.gz
find /data/dbbak/zabbix*.gz -mtime +7 -exec rm -f {} \;
find /data/dbbak/zabbix*.log -mtime +7 -exec rm -f {} \;

# crontab -e
30 0 * * * sh /data/dbbak/zabbixdbbak.sh 1>/data/dbbak/zabbixdbbakcron.log 2>>/data/dbbak/zabbixdbbakcron.bad

 

posted @ 2019-05-20 23:15  Mr-Lee-long  阅读(1038)  评论(0编辑  收藏  举报