采用xtrabackup部署主从同步
1.停掉从库192.168.1.23
[root@dev-env23 tmp]# service mysqld stop
Stopping mysqld: [ OK ]
2.主库全备份
cd /opt/xtrabackup247/bin
./innobackupex --defaults-file=/etc/my.cnf --user=root --socket=/var/lib/mysql/mysql.sock --password=yeemiao1117 -P3306 /opt/xtrabackup_file/
备份完成后会有提示ok,如下:
190124 10:50:07 Executing UNLOCK TABLES
190124 10:50:07 All tables unlocked
190124 10:50:07 Backup created in directory '/opt/xtrabackup_file/2019-01-24_10-46-06/'
MySQL binlog position: filename 'binlog.000011', position '587445616'
190124 10:50:07 [00] Writing backup-my.cnf
190124 10:50:07 [00] ...done
190124 10:50:07 [00] Writing xtrabackup_info
190124 10:50:07 [00] ...done
xtrabackup: Transaction log of lsn (296778142671) to (296778142701) was copied.
190124 10:50:07 completed OK!
完成备份后会以日期生成备份目录,我们把该目录tar并scp到远程备份服务器
[root@dev-env-22 xtrabackup_file]# tar -cvf /home/xtrabackup0124.tar ./2019-01-24_10-46-06/
[root@dev-env-22 home]# scp xtrabackup0124.tar root@192.168.1.23:/home/
----------------------------备库恢复------------------------
1.备库解压缩
[root@dev-env23 home]# cd /home
[root@dev-env23 home]# tar -xvf xtrabackup0124.tar
2.清空原来的数据文件目录和日志目录
查看/etc/my.cnf配置文件找到数据文件目录
datadir=/home/mysql/data
relay_log=/home/mysql/logs/relay-bin
我这里是采用重建目录的方式
[root@dev-env23 mysql]# mv data bakdata
[root@dev-env23 mysql]# mkdir data
[root@dev-env23 mysql]# mv logs baklogs
[root@dev-env23 mysql]# mkdir logs
3.恢复(备库也事先安装好xtrabackup软件)
cd /opt/xtrabackup247/bin
./innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/2019-01-24_10-46-06
这步完成后也有ok提示
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 296778145738
190124 11:08:12 completed OK!
./innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back --rsync /home/2019-01-24_10-46-06
完成后有ok提示
190124 11:11:58 [01] ...done
190124 11:11:58 completed OK!
4.修改权限
[root@dev-env23 mysql]#cd /home/mysql
[root@dev-env23 mysql]#chown -R mysql:mysql ./data
[root@dev-env23 mysql]#chown -R mysql:mysql ./logs
5.启动数据库
[root@dev-env23 mysql]# service mysqld start
190124 11:14:14 mysqld_safe error: log-error set to '/home/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[root@dev-env23 mysql]#
提示没有mysqld.log日志文件,创建即可
[root@dev-env23 mysql]# cd /home/mysql/logs
[root@dev-env23 logs]# echo>mysqld.log
[root@dev-env23 logs]# chown mysql:mysql mysqld.log
再次启动
[root@dev-env23 logs]# service mysqld start
Starting mysqld: [ OK ]
[root@dev-env23 logs]#
6.找到主从同步的参数值
master_log_file和master_log_pos
这两个参数可以在xtrabackup备份目录下的文件中查找到
[root@dev-env23 data]# cd /home/2019-01-24_10-46-06
[root@host02 2017-09-18_15-53-15]# more xtrabackup_binlog_info
[root@dev-env23 2019-01-24_10-46-06]# more xtrabackup_binlog_info
binlog.000011 587445616
7.执行主从复制
[root@dev-env23]# mysql -h localhost -uroot -pyeemiao1117
change master to master_host='192.168.1.22',
master_port=3306,
master_user='repl',
master_password='repl',
master_log_file='binlog.000011',
master_log_pos=587445616;
8.启动复制
start slave
采用xtrabackup部署主从同步的更多相关文章
- 基于xtrabackup的主从同步
基于xtrabackup的主从同步 作者 刘畅 时间 2020-9-21 服务器版本:CentOS Linux release 7.5.1804 主机名 ip地址 服务器配置 安装软件 密码 mysq ...
- mysql主从同步与读写分离
为了解决数据库服务的高可用问题以及负载均衡问题, 1正常情况下可以互为主从,均衡分担数据流量, 2防止数据库服务器在宕机的情况下可以顺利切换到正常的数据库服务器,减少公司的客户流量损失故公司需要搭建数 ...
- Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录
Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...
- 部署mysql主从同步
mysql-day06 部署mysql主从同步 案例拓扑 • 一主.一从 – 单向复制时,建议将 ...
- 通过 XtraBackup 实现不停机不锁表搭建主从同步
简介 Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写).备份时,Xtrabackup 会将 Master 的 b ...
- MySQL主从同步原理 部署【转】
一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...
- XtraBackup做mysql主从同步
一.背景: 线上一个主库压力比较大,所以增加一个从库,但是不能重启或者停止主库的正常运行,不能锁库锁表影响业务的正常运行.所以这里想到了XtraBackup 二.XtraBackup介绍: Xtrab ...
- MySQL面试题中:主从同步部署介绍
主从同步部署1.两台相同版本的mysql数据库,一台做主库,一台从库 主库开启binlog 在配置文件中的[mysqld]模块中添加log-bin=mysql-bin和server-id=1,一定要保 ...
- xtrabackup备份MySQL并主从同步
为什么要使用xtarbackup? mysqldump备份数据库的时候,会锁库锁表,导致业务服务的暂时停滞,数据库数量小还没有感觉,当数据超过几个G的时候,使用mysqldump会严重影响服务器性能, ...
随机推荐
- 零拷贝sendfile解析
传统方式read/write send/recv 在传统的文件传输里面(read/write方式),在实现上事实上是比較复杂的,须要经过多次上下文的切换.我们看一下例如以下两行代码: 1. read( ...
- 进程间通信之——队列Queue
队列是先进先出. from multiprocessing import Queue q = Queue(6) # 队列容纳上限 q.put(1) # 放到队列里面 q.put(2) q.put(3) ...
- php框架中,try,catch不能用的问题(转载)
本文转自:http://blog.csdn.net/sangjinchao/article/details/71436557 最近再用laravel框架发现,try catch用了没有效果,依然不能阻 ...
- unicode 与 utf-8 编码概念及区别
unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案.每个字符都对应一个编号,编号的范围是0-0x10FFFF来.Unicode 是为了解决传统的字符编码方案的局限而产生的,它为 ...
- python全栈开发 * 35 知识点汇总 * 180720
35 socket 一些常用方法 验证客户端信息 添加随机字符串 socketserver模块 一.socket模块中一些常用方法1.send和sendall的区别2.conn.getpeername ...
- hive on spark配置
1.安装java.maven.scala.hadoop.mysql.hive 略 2.编译spark ./make-distribution.sh --name "hadoop2-witho ...
- vim正则表达式
目录 一.使用正则表达式的命令[/,?, s, g] 1. 搜索命令 2. 替换命令s 3. global 命令形式 二.正则表达式的用法 表示位置的符号 表示数量的元字符 元字符一览 方括号内的特殊 ...
- odoo中self的使用
一:self是什么 目前新版的Odoo中使用到的self,是对 游标cr.用户ID.模型.上下文.记录集.缓存 的封装. 我们可以通过 self.XX 获取到这些封装的东西,比如:self.cr. ...
- jenkins使用笔记
jenkins动态在构建的时候给脚本传递参数 1.任务 >General > 参数化构建过程 >选项参数 2.把变量传递给shell脚本 3.构建的时候给参数赋值 4.shell脚 ...
- spring重要知识点总结
一.面向切面编程 配置applicationContext.xml文件 <beans xmlns="http://www.springframework.org/schema/bean ...