文档章节

mysql一主多从同步配置

阿dai
 阿dai
发布于 2017/09/02 12:56
字数 574
阅读 68
收藏 0

mysql一主多从同步配置

架构

一主多从和一主一从的原理是一样的:

graph LR
master-->slave1
master-->slave2
master-->slave...

环境

master:192.168.101

MYSQL版本:5.1.48-community-log

slave1:192.168.2.182

MYSQL版本:5.1.48-community-log

slave2:192.168.2.111

MYSQL版本:5.1.48-community-log

so...1 vs 2。

配置my.cnf

master:

[root@mysql101 ~]# vi /etc/my.cnf
[mysqld]
datadir = /data/mysql
socket = /tmp/mysql.sock
server-id = 1
log-bin=mysql-bin
binlog-do-db=YYY //需要同步的数据库
binlog-ignore-db=mysql //被忽略的数据库
binlog-ignore-db=information-schema //被忽略的数据库  

完成以上配置后重启mysql服务。

创建同步用户:

mysql> grant replication slave on *.* to 'affairlog'@'192.168.2.182' identified by 'pwd123';

//在slave1上登陆成功

mysql> grant replication slave on *.* to 'affairlog'@'192.168.2.111' identified by 'pwd123';

//在slave2上登陆成功

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000087
Position: 106
Binlog_Do_DB: YYY
Binlog_Ignore_DB: mysql,information-schema
1 row in set (0.00 sec)

slave:

[root@mysql182 ~]# vi /etc/my.cnf
[mysqld]
datadir = /data/mysql
socket = /tmp/mysql.sock
server-id=182
master-host=192.168.3.101
master-user= affairlog
master-password=pwd123
master-port=3306
master-connect-retry=60
replicate-do-db=YYY //同步的数据库
replicate-ignore-db=mysql //被忽略的数据库
replicate-ignore-db=information-schema //被忽略的数据库

完成配置后重启mysql服务。
修改slave2上的配置文件my.cnf,和上面类似,只是把server-id改下,为了方便,我都用了相应的ip某位,so,slave2上我设置的server-id是111。

同步配置

进入两个slave机中的mysql。

mysql>start slave;

mysql>show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

如果两个slave中的Slave_IO_Running、Slave_SQL_Running状态均为Yes则表明设置成功。

常见问题

错误1:

Slave_IO_Running: No或者Slave_SQL_Running: No

解决办法:

先停止slave:

mysql> slave stop;

master:

mysql> show master status\G;

*************************** 1. row ***************************
File: mysql-bin.000087
Position: 1845
Binlog_Do_DB: YYY
Binlog_Ignore_DB: mysql,information-schema
1 row in set (0.00 sec)

到slave手动同步:

mysql>change master to
>master_host='192.168.3.101',
>master_user='affairlog',
>master_password='pwd123',
>master_log_file='mysql-bin.000087',
>master_log_pos=1845;

启动slave服务:

mysql> slave start;

再次查看Slave_IO_Running、Slave_SQL_Running状态,为Yes则表明设置成功。

错误2:

ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first

解决办法

停掉slave服务

mysql> slave stop;

重置slave服务

mysql> reset stop;

再执行一次change命令

mysql>change master to
>master_host='192.168.3.101',
>master_user='affairlog',
>master_password='pwd123',
>master_log_file='mysql-bin.000087',
>master_log_pos=1845;

启动slave服务

mysql> slave start;

再次查看Slave_IO_Running、Slave_SQL_Running状态,为Yes则表明设置成功。

PS:
Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。

本文转载自:http://blog.sina.com.cn/s/blog_4c197d4201017qjs.html

共有 人打赏支持
阿dai
粉丝 67
博文 218
码字总数 288160
作品 0
昌平
运维
私信 提问

暂无文章

0029-如何实现CDH元数据库MySQL的主备

1.文档编写目的 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的扩展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负...

Hadoop实操
31分钟前
3
0
阿里如何做到百万量级硬件故障自愈?

摘要: 随着阿里大数据产品业务的增长,服务器数量不断增多,IT运维压力也成比例增大。各种软、硬件故障而造成的业务中断,成为稳定性影响的重要因素之一。本文详细解读阿里如何实现硬件故障...

阿里云官方博客
32分钟前
6
0
配置resttemplate

<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClientBuilder"factory-method="create"><property name="connectionManager"><bean class="org.apache.ht......

1713716445
35分钟前
2
0
Intersection of Two Linked Lists(leetcode160)

Write a program to find the node at which the intersection of two singly linked lists begins. For example, the following two linked lists: A: a1 → a2 ......

woshixin
41分钟前
3
0
Jrebel最新激活破解方式(持续更新)

https://blog.csdn.net/xingbaozhen1210/article/details/81093041

glen_xu
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部