服务环境:
操作系统:centos7.4
mysql版本:5.7.17
使用工具:mysqldump mysqlbinlog
1.全备
#mkdir /databak/`date "+%Y%m%d"`
#mysqldump -uroot -p --all-databases > /databak/`date "+%Y%m%d"`/alldb.sql
#mysql -uroot -p < alldb.sql
2.mysqldump同时备份/还原多个库
#mysqldump -uroot -p --databases mysql userdb > mult.sql
#mysqldump -u root -p -B mysql userdb > mysql+test+userdb.sql
#mysql -uroot -p < mult.sql
3.分库备份
#mysql -upf -h39.99.223.24 -p -e "show databases;"|grep -Evi "database|infor|perfor|sys"|sed -r 's#^([a-z].*$)#mysqldump -upf -h39.99.223.24 -p -B \1 > /databak/`date "+%Y%m%d"`/\1.sql#g'|bash //跨服务器
#mysql -uroot -p -e "show databases;"|grep -Evi "database|infor|perfor|sys"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p -B \1 > /databak/`date "+%Y%m%d"`/\1.sql#g'|bash //本机备份
#mysql -uroot -p -e "show databases;"|grep -Evi "database|infor|perfor|sys"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p -B \1|gzip > /databak/`date "+%Y%m%d"`/\1.sql.gz#g'|bash //压缩备份
#gunzip *.gz //解压缩
# file mysql.sql //确认备份文件类型
mysql.sql: UTF-8 Unicode text, with very long lines
还原:不需要提前建库,直接导数据即可
>source /databak/20200810/basic_center.sql
4.通过binlog日志还原数据
4.1查看binlog日志
#mysqlbinlog /var/lib/mysql/master1.000003
4.2执行指定Pos节点范围内的sql命令恢复数据
#mysqlbinlog --start-datetime="2020-08-10 15:00:00" --stop-datetime="2020-08-10 16:50:00" /var/lib/mysql/master1.000003 |mysql -uroot -p