利用slave_relay_log_info信息通过复制从库物理文件做主从

栏目: 数据库 · 发布时间: 5年前

利用slave_relay_log_info信息通过复制从库物理文件做主从

生产环境:

MySQL 5.7.18 [RPM]

Linux:CentOS 6.9

主库:node111 

从库:node130

新增加从库:node131

原理:利用slave_relay_log_info信息通过复制从库物理文件做一台新的从库

实现的功能:

在不停应用的情况, 快速 新增加一台从库

vim /etc/my.cnf # 配置slave从库的配置信息以表的形式存储

relay_log_info_repository = TABLE

master_info_repository    = TABLE

relay_log_recovery        = on

skip-slave-start        #数据库启动后不启动主从复制 

1. 首先查看从库的slave_relay_log_info

(root@host130_slave) [(none)]> select * frommysql.slave_relay_log_info\G;

*************************** 1. row***************************

Number_of_lines: 7

Relay_log_name: ./relay-bin.005421

Relay_log_pos: 1056548303

Master_log_name: mysql-bin.002269

Master_log_pos: 1056548090

Sql_delay: 0

Number_of_workers: 16

Id: 1

Channel_name:

1 row in set (0.00 sec)

ERROR:

No query specified

查看同步连接参数:

(root@host130_slave) [(none)]> select *   from mysql.slave_master_info\G;

*************************** 1. row***************************

Number_of_lines: 25

Master_log_name:mysql-bin.002270

Master_log_pos: 21428102

Host: 192.168.66.111

User_name: slave

User_password: slave123

Port: 3306

Connect_retry: 60

Enabled_ssl: 0

2. 将从库的主从复制停止:

mysql>slave stop

查看停止后的slave_relay_log_info,查看从库应用的POS位置点

(root@host130_slave) [(none)]> select * frommysql.slave_relay_log_info\G;

*************************** 1. row***************************

Number_of_lines: 7

Relay_log_name: ./relay-bin.005421

Relay_log_pos: 1056548307

Master_log_name: mysql-bin.002270

Master_log_pos: 1056548132

Sql_delay: 0

Number_of_workers: 16

Id: 1

Channel_name:

1 row in set (0.00 sec)

查看主从同步连接主库的参数:

(root@host130_slave) [(none)]> select *   from mysql.slave_master_info\G;

*************************** 1. row***************************

Number_of_lines: 25

Master_log_name:mysql-bin.002270

Master_log_pos: 21428102

Host: 192.168.66.111

User_name: slave

User_password: slave123

Port: 3306

Connect_retry: 60

Enabled_ssl: 0

3. 将从库停机

service mysqld stop

4. 将/var/lib/mysql下面所有的文件复制到node131另一台配置一样的空数据库的对应目录下面(新从库的数据库版本一样)

scp -r /var/lib/mysql/*   root@192.168.66.131:/var/lib/mysql/

# 关闭selinux 关闭防火墙

#setenforce 0

#service iptables stop

#chkconfig iptables off

5. 修改192.168.66.131新从库数据文件的权限:

node131#chown mysql.mysql /var/lib/mysql/* -R

6. 将从库node130的配置文件复制到node131数据库下:

node130# scp /etc/my.cnf root@node131:/etc/

修改server-uuid:在同一个主从环境中,这个值需要唯一 

[root@node7 mysql]# vim auto.cnf

[auto]

server-uuid=f8db3a0a-306f-11e9-acc6-000c297446e9

修改/etc/my.cnf

server_id=7 # 这个值在主从环境中也要唯一

7. 启动数据库:

node131#service mysqld start

8: 在node131上重新配置主从

通过 mysql.slave_relay_log_info 的参数修改对应配置

mysql> stop slave;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> reset slave;        #做这个之前要记录下slave同步的参数

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> change master to master_host=192.168.66.111,master_user=slave,master_password=;slave123;,master_port=3306,master_log_file=mysql-bin.002270,master_log_pos=1056548090;

mysql> start slave;

mysql> show slave status\G;

新从库node131配置完成

利用slave_relay_log_info信息通过复制从库物理文件做主从

利用slave_relay_log_info信息通过复制从库物理文件做主从


以上所述就是小编给大家介绍的《利用slave_relay_log_info信息通过复制从库物理文件做主从》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Microformats

Microformats

John Allsopp / friends of ED / March 26, 2007 / $34.99

In this book, noted web developer and long time WaSP member John Allsop teaches all you need to know about the technology: what Microformats are currently available and how to use them; the general pr......一起来看看 《Microformats》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码