mysql双主同步配置实现方案
admin
2023-05-22 07:03:01
0

下文给大家带来关于mysql双主同步配置实现方案,感兴趣的话就一起来看看这篇文章吧,相信看完mysql双主同步配置实现方案对大家多少有点帮助吧。 

一.双主复制实现方案

1.让表的ID自增,然后主1写1、3、5,主2写2、4、6

2.不让表的ID自增,然后通过web端程序去seq服务器取ID,写入双主

双主工作场景为高并发写的场景,慎用。

 

二.双主配置,以多实例3306和3308为例

mysql双主同步配置实现方案

  1. 在3306上创建一个专门用来同步数据库的用户

mysql> grant replicationslave on *.* to rep@'10.0.0.%' identified by '123456';

###*.*代表所有库和所有表

mysql> flush privileges;

mysql> select user,hostmysql.user;

mysql> show grants forrep@'10.0.0.%';

 

2.两个数据库的my.cnf文件里的mysqld模块添加如下×××部分

3306配置

[root@mysql /]# sed -n '36,43p'/data/3306/my.cnf

#log-slow-queries =/data/3306/slow.log

pid-file = /data/3306/mysql.pid

log-bin = /data/3306/mysql-bin

auto_increment_increment = 2   #自增ID的间隔,如1 3 5间隔为2

auto_increment_offset    = 1    #ID的初始位置

log-slave-updates

relay-log =/data/3306/relay-bin

relay-log-info-file =/data/3306/relay-log.info

3308配置

[root@mysql /]# sed -n '36,43p'/data/3308/my.cnf

#log-slow-queries =/data/3308/slow.log

pid-file = /data/3308/mysql.pid

log-bin = /data/3308/mysql-bin

auto_increment_increment = 2   #自增ID的间隔,如1 3 5间隔为2

auto_increment_offset    = 2   #ID的初始位置

log-slave-updates

relay-log = /data/3308/relay-bin

relay-log-info-file =/data/3308/relay-log.info

 

3.重启两个数据库实例

[root@mysql /]# /data/3306/mysql restart

[root@mysql /]# /data/3308/mysql restart

 

4.登陆数据库确认添加的内容是否生效

3306

[root@mysql /]# mysql -uroot-p123456 -S /data/3306/mysql.sock

mysql> show variables like"log_%";

+------------------------------------------------------+----------------------------------------------------+

| Variable_name                    |Value                            |

+-----------------------------------------------------+-----------------------------------------------------+

| log_bin                          | ON                              |

|log_bin_trust_function_creators      | OFF                             |

| log_error                        | /data/3306/mysql_oldboy3306.err     |

| log_output                       |FILE                              |

|log_queries_not_using_indexes      | OFF                               |

| log_slave_updates                 | ON                               |

| log_slow_queries                  |OFF                              |

| log_warnings                     | 1                                 |

+----------------------------------------------------+--------------------------------------------------------+

8 rows in set (0.00 sec)

 

mysql> show variables like"auto_%";

+--------------------------+-------+

| Variable_name            | Value |

+--------------------------+-------+

| auto_increment_increment | 2     |

| auto_increment_offset   | 1     |

| autocommit               | ON    |

| automatic_sp_privileges  | ON   |

+--------------------------+-------+

4 rows in set (0.00 sec)

 

3308

mysql> show variables like"log_%";

+---------------------------------+---------------------------------+

| Variable_name                   | Value                           |

+---------------------------------+---------------------------------+

| log_bin                         | ON                              |

|log_bin_trust_function_creators | OFF                             |

| log_error                       |/data/3308/mysql_oldboy3308.err |

| log_output                      | FILE                            |

|log_queries_not_using_indexes   |OFF                             |

| log_slave_updates               | ON                              |

| log_slow_queries                | OFF                             |

| log_warnings                    | 1                               |

+---------------------------------+---------------------------------+

8 rows in set (0.00 sec)

 

mysql> show variables like"auto_%";

+--------------------------+-------+

| Variable_name            | Value |

+--------------------------+-------+

| auto_increment_increment | 2     |

| auto_increment_offset   | 2     |

| autocommit               | ON    |

| automatic_sp_privileges  | ON   |

+--------------------------+-------+

4 rows in set (0.00 sec)

 

二.主库3306备份数据,导入主库3308

1.在主库3306上备份数据

[root@mysql ~]# mysqldump-uroot -p123456 -S /data/3306/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/3306_$(date +%F).sql.gz

-A:所有的库    -x:全局锁表 

2.将数据导入主库3308

 

[root@mysql ~]# ls /opt

3306_2017-07-03.sql.gz

[root@mysql ~]# cd /opt

[root@mysql opt]# gzip -d 3306_2017-07-03.sql.gz

[root@mysql opt]# ls

3306_2017-07-03.sql

[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <3306_2017-07-03.sql

 

3.主库3308连接主库3306

[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <

CHANGE MASTER TO 

MASTER_HOST='10.0.0.20',

MASTER_PORT=3306,

MASTER_USER='rep',

MASTER_PASSWORD='123456';

EOF

[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock -e "start slave"

 

三.主库3308备份数据,导入主库3306

1.在主库3308上备份数据

[root@mysql ~]# mysqldump-uroot -p123456 -S /data/3308/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/3308_$(date +%F).sql.gz

-A:所有的库    -x:全局锁表 

2.将数据导入主库3306

 

[root@mysql ~]# ls /opt

3308_2017-07-03.sql.gz

[root@mysql ~]# cd /opt

[root@mysql opt]# gzip -d 3308_2017-07-03.sql.gz

[root@mysql opt]# ls

3308_2017-07-03.sql

[root@mysql opt]# mysql -uroot -p123456-S /data/3306/mysql.sock <3308_2017-07-03.sql

 

3.主库3306连接主库3308

[root@mysql opt]# mysql -uroot-p123456 -S /data/3306/mysql.sock <

CHANGE MASTER TO 

MASTER_HOST='10.0.0.20',

MASTER_PORT=3308,

MASTER_USER='rep',

MASTER_PASSWORD='123456';

EOF

[root@mysql opt]# mysql -uroot-p123456 -S /data/3306/mysql.sock -e "start slave"

 

四.在两个实例上互相创建数据库,测试查看是否正常互相复制同步,经测试已可以正常同步了^_^

看了以上关于mysql双主同步配置实现方案详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。 

相关内容

热门资讯

凤凰深入日本地震灾区:老人护理... 日本熊本强震发生后,不少老人护理设施受到影响。凤凰卫视特派记者蒋文彬去到当地一处接收有特殊照护需求老...
摩洛哥移民:要一路去俄罗斯和中... 近日,美国独立记者尼克·雪利抵达西班牙飞地休达,采访还滞留在休达的摩洛哥移民。部分移民表示,他们的下...
四川甘孜州一交通事故致5死1伤... 2026年7月29日,四川甘孜州炉霍县泥巴乡境内(国道G227线)发生一起重型半挂油罐车与普通两轮摩...
西班牙飞地移民危机在欧盟内部引... 【环球网报道 记者 张江平】综合英国《卫报》等媒体8月3日报道,近日,西班牙位于北非的飞地休达发生移...
美国拉响感染警报:罕见病毒首现... 美国纽约州近日首次发现一种尚无疫苗或特效药的罕见蜱传病毒;与此同时,一场由食物或饮用水污染引发的寄生...
19岁丹麦公主开始服军役,不要... 据参考消息援引英国《独立报》等媒体当地时间3日报道,丹麦公主伊莎贝拉已抵达斯劳厄尔瑟一处军事营地,开...
打印机墨盒怎么加墨?大佬求解 打印机墨盒里面的墨它是有限的,一般用完之后需要再次的添加才可以继续使用打印,这种墨盒我们自己添加墨可...
惠普1010打印机驱动怎么安装... 1、给电脑充电,打开电脑找到电脑的浏览器,输入打印机的官方网站,到打印机官方网站上搜索本打印机型号,...
iphone手机访问限制功能在... 很多小伙伴还不知道iphone手机访问限制功能在哪里设置?下面小编给大家介绍一下iphone手机设置...
win10共享打印机拒绝访问怎... 有些办公人员在使用打印机共享的时候,发现系统提示:共享打印机拒绝访问。那么win10共享打印机拒绝访...