mysql备份与binlog

修改/etc/my.cnf下面四个配置,没有的话就加入这四个。

log-bin=mysql-bin

binlog_format=mixed

expire_logs_days=7

binlog-do-db=your_db

查看binlog

mysqlbinlog --no-defaults mysql-bin.000001 | more

恢复binlog

./mysqlbinlog --start-date="yyyy-MM-dd HH:mm:ss" --stop-date="yyyy-MM-dd HH:mm:ss" /usr/local/mysql/data/mysql-bin.xxxxx  /usr/local/mysql/data/mysql-bin.xxxxxx |mysql -u root -ppassword

mysql定时备份脚本

#!/bin/bash
#Name:bakmysql.sh
#This is a ShellScript For Auto DB Backup and Delete old Backup
bakpath=/data/bakmysql
time=·`date +%Y%m%d%H `
mysqldump -uxxxx -pxxxx database_xxxx | gzip > $bakpath/backname$time.sql.gz
#
find $bakpath -name "backname_*.sql.gz" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1

修改crontab

5 3 * * * root /usr/sbin/bakmysql.sh

/etc/init.d/crond restart

原文地址:https://www.cnblogs.com/yachi/p/4281739.html