———————————————————————————-数据库完全备份及还原————————————————————————–

1.数据库备份

mysqldump –uroot -p${PASSWORD}  –A –F –E –R –triggers –single-transaction –master-data=2 –flush-privileges –default-character-set=utf8 | gzip > ${BACKUP}/fullbak_${BACKUP_TIME}.sql.gz

2.数据库还原

2.1 进入备份的文件夹进行解压:

gzip -d ${BACKUP}/fullbak_${BACKUP_TIME}.sql.gz

2.2  恢复前登录数据库关闭二进制日志:

set sql_log_bin=off

2.3  还原数据库

source ${BACKUP}/fullbak_${BACKUP_TIME}.sql

2.4  打开二进制日志:

set sql_log_bin=on

———————————————————————————-数据库增量备份及还原————————————————————————

1.设置二进制存放路径

[mysqld]
log-bin=/data/mysql/log-bin

mkdir -p /data/mysql

chown mysql.mysql  /data/mysql

2.完全备份数据库

mysqldump –uroot -p${PASSWORD}  –A –F –E –R –triggers –single-transaction –master-data=2 –flush-privileges –default-character-set=utf8 | gzip > ${BACKUP}/fullbak_${BACKUP_TIME}.sql.gz

3. 进入备份的文件夹进行解压:

gzip -d ${BACKUP}/fullbak_${BACKUP_TIME}.sql.gz

4.查看恢复二进制文件的起始位置:

grep ‘^– CHANGE MASTER TO’  ${BACKUP}/fullbak_${BACKUP_TIME}.sql

#– CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000001′, MASTER_LOG_POS=XXX;

5.备份二进制日志:

mysqlbinlog mysql-bin.000001 –start-position=XXX >  /data/mysql/inc.sql

##如有多个二进制文件则将其他二进制日志  >>  /data/mysql/inc.sql

6.还原数据库

set sql_log_bin=off

source ${BACKUP}/fullbak_${BACKUP_TIME}.sql

source /data/mysql/inc.sql

set sql_log_bin=on

—————————————————————————————-注意事项  ——————————————————————————

1.根据业务确定备份周期,数据库和(二进制日志,配置文件)可按7:1比例周期定制计划任务。

2.数据库备份可按照mysqldump .二进制日志和配置文件可按照 rsync -av /data/mysql/* back-up-server:/path进行动态更新。

3.还原时,根据完全备份的日志起始点,生成对应的还原日志。

posted on
2021-02-24 20:41 
小步快跑的中年人 
阅读(0
评论(0
编辑 
收藏

版权声明:本文为Cheer-up-boy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Cheer-up-boy/p/14443268.html