mysql备份与恢复(主从)innobackupex、xtrabackup

安装教程请查看这篇文章
https://blog.csdn.net/qq_41788609/article/details/110481330

innobackupex备份选项

--user=     #指定数据库备份用户
--password=  #指定数据库备份用户密码
--port=     #指定数据库端口
--host=     #指定备份主机
--socket=    #指定socket文件路径
--databases=  #备份指定数据库,多个空格隔开,如–databases=”dbname1 dbname2″,不加备份所有库
--defaults-file=       #指定my.cnf配置文件
--apply-log         #日志回滚
--incremental=          #增量备份,后跟增量备份路径
--incremental-basedir=     #增量备份,指上次增量备份路径
--redo-only         #合并全备和增量备份数据文件
--copy-back         #将备份数据复制到数据库,数据库目录要为空
--move-back   #这个选项与--copy-back相似,唯一的区别是它不拷贝文件,而是移动文件到目的地。这个选项移除backup文件,用时候必须小心。使用场景:没有足够的磁盘空间同事保留数据文件和Backup副本
--no-timestamp          #生成备份文件不以时间戳为目录名
--stream=             #指定流的格式做备份,–stream=tar,将备份文件归档
--remote-host=user@ip DST_DIR #备份到远程主机

一、全量备份(主库操作)

innobackupex --defaults-file=/etc/my.cnf  --user=root --password=your_passwd  --socket=/usr/local/mysql/data/mysql.sock /data/backup/ 

#填上自己的配置文件,用户,密码,mysql的socket的路径,备份存放路径

如果是只备份个别数据库,用–databases=database_name 选项

innobackupex --defaults-file=/etc/my.cnf  --user=root --password=your_passwd  --socket=/usr/local/mysql/data/mysql.sock --databases=database_name /data/backup/ 

二、恢复(从库操作,预先把在主库备份的文件夹传到从库)
1、关闭数据库

mysqladmin -uroot -p'passwd' -S /usr/local/mysql/data/mysql.sock shutdown
或者
systemctl stop mysqld
或者
service mysqld stop

2、备份数据目录

mv /usr/local/mysql/data /usr/local/mysql/databak

3、创建一个新的数据目录(与原来名称一样)

mkdir /usr/local/mysql/data

4、准备恢复文件

innobackupex --defaults-file=/etc/my.cnf --apply-log /data/backup/2020-12-03_11-22-15/
#通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态。

5、执行恢复

innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/2020-12-03_11-22-15/

6、更改数据目录权限

chown -R mysql:mysql /usr/local/mysql/data

7、启动数据库

systemctl start  mysqld

8、配置主从信息

mysql  -uroot -ppassworld
CHANGE MASTER TO MASTER_HOST='10.104.xx.xx',MASTER_PORT=3306,MASTER_USER='root',MASTER_PASSWORD='gzydro16pass',MASTER_LOG_FILE='xxx',MASTER_LOG_POS=xx;

根据实际填写MASTER_HOST、MASTER_LOG_FILE和MASTER_LOG_POS

注:MASTER_LOG_FILE和MASTER_LOG_POS 查看文件xtrabackup_binlog_info
cat /data/backup/2020-12-03_11-22-15/xtrabackup_binlog_info

7、开启复制
start slave;
show slave status\G

注意:
1.执行恢复时datadir目录必须为空。除非指定innobackupex --force-non-empty-directorires选项指定,否则–copy-backup选项不会覆盖
2.在恢复之前,必须shutdown MySQL实例,你不能将一个运行中的实例恢复到datadir目录中
3.由于文件属性会被保留,大部分情况下你需要在启动实例之前将文件的属主改为mysql

增量备份,查看如下文章
https://blog.csdn.net/qq_41788609/article/details/110532235
用xtrabackup命令进行备份和恢复,查看如下文章
https://blog.csdn.net/qq_41788609/article/details/110546722

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值