匿名
未登录
登录
Linux78|wiki
搜索
查看“Xtrabackup流备份恢复MySQL从库”的源代码
来自Linux78|wiki
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Xtrabackup流备份恢复MySQL从库
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
wiki:用户|用户
您可以查看与复制此页面的源代码。
== 背景 == 从库出问题,需要重做从库,一般的恢复方法是在主库上xtrabackup物理热备,然后拷贝备份文件到从库恢复。但主库数据目录有300G,而磁盘剩余空间只有100G,可以采用xtrabackup的流备份恢复从库。流备份可以边备份边压缩边传输,不会占用本地空间。 服务器 角色 192.168.199.198 master 192.168.199.199 slave xtrabackup的流备份恢复MySQL从库步骤 == 从库关闭MySQL,并移除数据目录 == kill -9 $MYSQLD_PID cd /database/mysql/3306/ rm -rf data == 主库上授权 (如果无授权) == grant reload,lock tables,replication client,process on *.* to backup@'%' identified by 'fanderpassword'; grant replication slave,replication client on *.* to repl@'%' identified by 'fanderpassword'; == 主库和从库上分别安装xtrabackup == # wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.14/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.14-1.el6.x86_64.rpm == 主、从库分别建备份目录 == mkdir -p /data/backups/2019061 == 主库上发起流备份,并通过管道传输到从库解包 == xtrabackup -ubackup -pfanderpassword -H127.0.0.1 -P3306 \ --backup \ --stream=xbstream \ --compress \ --target-dir=/data/backups/20190618 | ssh root@192.168.199.199 "xbstream -x -C /data/backups/20190618" !!虽然设置了主库本地备份的路径/data/backups/20190618,但观察可以发现其不会占用空间。 == 从库上解压,解压后删除原压缩文件 == xtrabackup --decompress --parallel=4 --remove-original --target-dir=/data/backups/20190618 == 从库上prepare阶段,应用redo log == xtrabackup --prepare --use-memory=1GB --target-dir=/data/backups/20190618 == 从库采用move-back方法,把应用好的数据恢复到数据目录 == xtrabackup --defaults-file=/data/mysql/mysql3306/my.cnf --move-back --parallel=4 --target-dir=/data/backups/20190618 注意:这里有一个坑,不要设置innodb_log_group_home_dir =./ ,xtrabackup会读错路径,导致无法拷贝,解决办法是注释掉这条参数。 == 从库修改数据目录权限 == chown -R mysql:mysql /database/mysql/3306 == 从库启动数据库 == service mysqld start == 从库修改gtid编号 == [root@192-168-199-199 data]# cat /data/mysql/mysql3306/data/xtrabackup_info |grep binlog_pos binlog_pos = filename 'mysql-bin.000009', position '190', GTID of the last change 'c0900221-709b-11e9-b8ea-000c29abbade:1-1539006' mysql> reset master; mysql> set global gtid_purged="c0900221-709b-11e9-b8ea-000c29abbade:1-1539006" == 从库启动复制 == mysql> CHANGE MASTER TO MASTER_HOST='192.168.199.198', MASTER_USER='repl', MASTER_PASSWORD='fanderpassword', MASTER_PORT=3306, MASTER_AUTO_POSITION=1; mysql> start slave;
返回至
Xtrabackup流备份恢复MySQL从库
。
导航
导航
首页
最近更改
随机页面
栏目
Nginx
Kubernetes
Spring Cloud
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志