使用innobackupex基于从库搭建mysql主从架构

现有的架构是一主一从,版本为Mysql5.6.37。实施要求是:利用从库,搭建第二个从库,版本为5.7.21

主库:192.168.1.21

从库:192.168.1.22

从库2:192.168.1.23

1、备份从库1
[root@mysql02 ~]./innobackupex --user=root --password="xxxxxx" --slave-info --safe-slave-backup --parallel=3 /data/backup/

#参数slave-info 用于GTID
#复制my.cnf文件到新从库
[root@mysql02 ~]$scp /etc/my.cnf 192.168.1.23:/data/backup
2、主库授予从库2复制账户
master@MySQL> grant replication slave,replication client on *.* to repl@'192.168.1.23' identified by 'repl';
3、从库2:进行恢复
[root@mysql03 ~]$./innobackupex --user=root --password="xxxxxx" --apply-log --use-memory=2G /data/backup/2018-08-10_17-29-01

./innobackupex --defaults-file=/etc/my.cnf  --user=root --password="xxxxxx"  --socket=/data/mysql_33061/run/mysql.sock --copy-back  /data/backup/2018-08-10_17-29-01

或者:
[root@mysql03 ~]$mv /data/backup/2018-08-10_17-29-01 /data/mysql_3306

4、准备从库2配置文件my.cnf,根据需要修改相应参数,这里的修改如下,
skip-slave-start
datadir = /data/mysql_3306
port = 3306
server_id = 330623
socket = /data/mysql_3306/mysql.sock
pid-file=/data/mysql_3306/mysql3307.pid
log_error=/data/mysql_3306/mysql_error.log

5、启动从库2
# chown -R mysql:mysql /data/backup
# mysqld_safe --defaults-file=/etc/my.cnf &

6、运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist
./mysql_upgrade -hlocalhost -u root -p --force -P3306 --socket=/data/mysql_3306/mysql.sock
重启数据库
7、change master
mysql> system more /log/recover/xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000658', MASTER_LOG_POS=925384099
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.22',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000658',
-> MASTER_LOG_POS=925384099;
Query OK, 0 rows affected, 2 warnings (0.31 sec)
mysql> start slave;
在从库2,start slave时报:error:
ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
经分析,需要:
删除5张表,并重新导入脚本
use mysql
drop table slave_master_info;
drop table slave_relay_log_info;
drop table slave_worker_info;
drop table innodb_index_stats;
drop table innodb_table_stats;
检查表数据,为空表,重建表
source /backup/mysql_system_tables.sql

(2)重新启动数据库
mysql> start slave;
mysql> show slave status\G;

一主一从一级联,搭建完成。

未开启GTID情况下,从 一主一从一级联,调整为一主两从

1:在从库一:停掉SQL线程、IO线程,并记录下此时从库1 的master status

mysql>stop slave;

mysql> show master status;
+------------------+-----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+-----------+--------------+------------------+-------------------+
| mysql-bin.000658| 925384099| | | |
+------------------+-----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

2:在从库2,show slave status;观察Master_Log_File  Exec_Master_Log_Pos与从库1中show master status;一致时,在从库1:show slave status\G;记录下Master_Log_File  Exec_Master_Log_Pos

3:然后在从库2,即指向主库:

mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.21', 
-> MASTER_USER='repl', 
-> MASTER_PASSWORD='repl',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000100',
-> MASTER_LOG_POS=384099;
Query OK, 0 rows affected, 2 warnings (0.31 sec)
mysql> start slave;

4:开启从库1的SQL线程、IO线程

此时,一主两从搭建成功;

使用innobackupex基于从库搭建级联从库及一两从的更多相关文章

  1. Percona XtraBackup不锁库搭建slave数据库-基于GTID

    Percona XtraBackup不锁库搭建slave数据库-基于GTID 1.下载安装epel源并安装 wget http://ftp.cuhk.edu.hk/pub/linux/fedora-e ...

  2. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  3. ORACLE Physical Standby 级联备库搭建

    搭建oracle 级联DG 现有架构:physical standby 一主二备,在此基础上,在主库下新建备库standby3.级联备库cascade 数据库版本 11.2.0.4 db_name=p ...

  4. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  5. postgresql从库搭建

    1 复制类型 PostgreSQL支持物理复制(流复制)及逻辑复制2种.通过流复制技术,可以从实例级复制出一个与主库一模一样的实例级的从库.流复制同步方式有同步.异步两种. 另一种复制方式为逻辑复制, ...

  6. 使用web-component搭建企业级组件库

    组件库的现状 前端目前比较主流的框架有react,vuejs,angular等. 我们通常去搭建组件库的时候都是基于某一种框架去搭建,比如ant-design是基于react搭建的UI组件库,而ele ...

  7. 基于Flask框架搭建视频网站的学习日志(一)

    ------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...

  8. Docker实战(2):主从库搭建

    入门 基于Docker的Mysql主从复制搭建 首先安装docker 拉取mysql镜像:5.7版本 启动主从数据库容器 docker run -p 3339:3306 --name Maste -e ...

  9. JSCapture – 基于 HTML5 实现的屏幕捕捉库

    JSCapture 是用纯 JavaScript 和 HTML5 实现的屏幕捕捉库.它可以让从您的浏览器中截图和记录在桌面的视频.JSCapture 使用 getUserMedia 来实现屏幕捕获.目 ...

随机推荐

  1. [BZOJ 4025]二分图(线段树分治+带边权并查集)

    [BZOJ 4025]二分图(线段树分治+带边权并查集) 题面 给出一个n个点m条边的图,每条边会在时间s到t出现,问每个时间的图是否为一个二分图 \(n,m,\max(t_i) \leq 10^5\ ...

  2. 最长公共子序列(LCS) Medium2

    The company "21st Century Fruits" has specialized in creating new sorts of fruits by trans ...

  3. java代码转化为jar包,再转化为.exe文件步骤

    下面是具体步骤: 一.先把自己的程序发布成jar文件 这是eclipse自带的功能,右键工程包-->Export 然后选择Java-->JAR file,next 选择输出路径,next ...

  4. luogu P1232 [NOI2013]树的计数

    传送门 这题妙蛙 首先考虑构造出一个合法的树.先重新编号,把bfs序整成\(1,2,3...n\),然后bfs序就是按照从上到下从左往右的遍历顺序,所以可以考虑对bfs序分层,可以知道分层方式只会对应 ...

  5. SpringMVC_放行静态资源

    静态资源到处都是坑!明白原理才能绕过这些坑! web.xml配置servlet中四种路径的区别 在web.xml文件的配置中,四种路径编写方式优先级如下图: 其中b和d都能接收所有请求,仅仅是在优先级 ...

  6. react随笔

    对React children 的深入理解     https://www.jianshu.com/p/d1975493b5ea [react]利用prop-types第三方库对组件的props中的变 ...

  7. 微信小程序 IView List与Icon结合使用

    wxml <i-cell-group>     <i-cell title="测试" is-link>           <i-icon slot= ...

  8. 简单的python笔试题

    1.输出九九乘法口诀 for i in range(1,10): for j in range(1,i+1): print('{}*{}={}'.format(j,i,i*j),end=' ') pr ...

  9. Vscode中解决Html文件中不能打断点问题

    Vscode中解决Html文件中不能打断点问题: 默认情况下,VSCode是不能在Html文件里打断点的,但是可以修改设置,依次打开:文件->首选项->设置,然后功能->调试-> ...

  10. eclipse中export 的jar file与 runnable jar file的区别

    (1)直接运行 .class的方法     java  -cp .  com.guangfa.demo1  , 不用加.class后缀 .-cp 是 -classpath 缩写,是指定类运行所依赖其他 ...