参考文章:https://www.cnblogs.com/kerrycode/p/4648974.html
https://blog.csdn.net/luna33/article/details/48317235
下载automysqlbackup-v3.0_rc6.tar.gz,解压。切换到root用户,使用install.sh安装,按回车选择默认安装目录。
按照参照博文和README所述,建议修改/etc/automysqlbackup/myserver.conf文件。默认情况下,这些AutoMySQLBackup的参数都是注释的,不改不需要取消注释,需要改就取消注释,给予相关参数配置信息,例如使用那个账号做备份、账号密码。主要修改如下:
CONFIG_mysql_dump_username='root'
CONFIG_mysql_dump_password=''
CONFIG_mysql_dump_host='localhost'
CONFIG_backup_dir='/var/backup/db'
CONFIG_mysql_dump_single_transaction='yes'//改这个是因为出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES错误
CONFIG_mysql_dump_usessl='no'
CONFIG_multicore='no'
修改automysqlbackup文件,去除warning,避免出现error log:
# Remove annoying warning message since MySQL 5.6
if [[ -s "$log_errfile" ]]; then
sedtmpfile="/tmp/$(basename $0).$$.tmp"
grep -v "\[Warning\]: Using a password on the command line interface can be insecure." "$log_errfile" > $sedtmpfile
mv $sedtmpfile $log_errfile
fi
在配置完成后,执行automysqlbackup /etc/automysqlbackup/myserver.conf,可以进行备份,显示如下:
Backup End Time Tue Jan 22 15:34:05 CST 2019
======================================================================
Total disk space used for backup storage...
Size - Location
7.4M /opt/scm/backup/db
======================================================================
默认是全量备份,现在支持增量备份,配置选项如下,如何修改看配置文件里的说明:
CONFIG_mysql_dump_differential="yes"
错误的log发送要通过mutt客户端发送。安装配置参照博文:https://www.cnblogs.com/ilanni/p/4893594.html
https://blog.csdn.net/oYinJi1/article/details/78776328
自动化运行,README也有描述。在/etc/cron.daily/目录下建立一个runmysqlbackup的文件,内容如下:
#!/bin/sh
/usr/local/bin/automysqlbackup /etc/automysqlbackup/myserver.conf
chown root.root /var/backup/db* -R
find /var/backup/db* -type f -exec chmod 400 {} \;
find /var/backup/db* -type d -exec chmod 700 {} \;
改为可执行程序 chmod +x /etc/cron.daily/runmysqlbackup.
恢复方式:
先解压备份的文件,然后调用mysql语句恢复。
mysql --user=username --pass=password --host=dbserver database < /path/file.sql