MySQL利用xtrabackup在线修复或新增从库
如果数据库的数据量很大,表大小有几十个G,利用mysqldump导出备份会消耗非常长的时间,会对数据库产生不稳定风险,这时可以利用xtrabackup工具在线复制主库文件,利用复制出来的主库文件可以修复从库故障或新增从库实例
主库IP:192.168.1.1
从库IP:192.168.1.2
主库和从库服务器都需要安装以下环境
安装必须的依赖环境
yum install libssl.so.6 -y
ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6
使用rpm包安装需要安装较多的依赖包,如果是在线上的生产系统操作,会对业务产生风险,因此我们使用源码包操作
下载源码包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/tarball/percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
tar xvf percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
mv percona-xtrabackup-2.4.5-Linux-x86_64 /usr/local/xtrabackup
一、以下命令在主库服务器上操作
1.复制主库
/usr/local/xtrabackup/bin/innobackupex --host=127.0.0.1 --user=root --password=123456 --port=3306 --slave-info --no-timestamp /data/backup/
复制的文件会存储在/data/backup/目录下
2.同步复制文件到从库服务器
scp -r /data/backup/ 192.168.1.2:/data/backup/
二、以下命令在从库服务器上操作
1.清空旧的同步信息
mysql -h192.168.1.2 -uroot -p123456
mysql> stop slave;
mysql> reset slave;
2.删掉mysql原来的datadir目录
/etc/init.d/mysql stop
cd /data/mysql
mv data data_bak
3.恢复主库复制的备份
cd /data/backup/
/usr/local/xtrabackup/bin/innobackupex --apply-log ./
/usr/local/xtrabackup/bin/innobackupex --copy-back ./
4.开启mysql服务
chown -R mysql.mysql /data/mysql/data
/etc/init.d/mysql start
5.查看主库复制时的日志点
cat xtrabackup_binlog_info
mysql-bin.000015 59245449
6.创建新的同步信息,从复制时的日志点开始同步
mysql -h192.168.1.2 -uroot -p123456
mysql> change master to master_host='192.168.1.1',
master_user='root',
master_password='123456',
master_log_file='mysql-bin.000015',
master_log_pos=59245449;
mysql> start slave;
mysql> show slave status\G;
如果看到IO和SQL线程均为YES,说明主从配置成功
相关文章
- MySQL存储过程详解 mysql 存储过程
- IIS下MySQL停止和启动的方法
- mysql 设置 row格式binlog_为什么要把MySQL的binlog格式修改为row
- mysql字符串拼接
- 在新机器部署Qt+mysql程序
- 在 MySQL 中计算每日平均日期或时间间隔
- 专家教你如何玩转MySQL全文搜索
- 【MySQL】恢复误操作的方法
- 从Oracle迁移到Mysql之前必须知道的50件事
- Mysql错误check the manual that corresponds to your MySQL server version for the right syntax
- 【MySQL进阶-04】深入理解mysql事务本质(超级详解)
- 【MySQL进阶-01】深入理解mysql索引本质
- Linux安装MySQL(只针对这个8.0版本其他版本的MYSQL不知道是不是也可以用可以自己尝试)
- mysql空格问题引起查询问题
- mysql 几阶b树_在学到MySQL索引时,涉及到了B树和B+树.聊一聊
- 【MySQL】如何向mysql数据库插入当前时间
- 项目访问mysql时报: Failed to obtain JDBC Connection...:Host ‘X‘is not allowed to connect to this MySQL ser
- 【mysql报错】ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
- 【mysql问题】解决2003-Can‘t connect to MySQL server on ‘ ‘(10060“Unknown error“)
- 转 mysql awr 报告
- 2003-Can't connect to Mysql on '主机名'(10061)
- libaio.so.1()(64bit) is needed by MySQL-server 问题解决办法
- MySQL EXPLAIN 命令: 查看查询执行计划
- MySQL利用mysqldump在线修复或新增从库
- MySQL 数据表修复及数据恢复
- mysql之突破secure_file_priv写shell
- Linux下的Mysql的远程访问
- mysql生产环境____主从同步修复案例
- Mysql 行列转换
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动