设为首页 加入收藏

TOP

MySQL与MariaDB 新型主从集群配置GTID
2015-11-12 21:29:23 来源: 作者: 【 】 浏览:5
Tags:MySQL MariaDB 新型 主从 集群 配置 GTID

MariaDB:


直到创建好复制用户。


我们这里的由于是新创建的数据库,因此先重置下主库的状态,此操作不是必须,如果后面发现同步sql执行失败,可执行这行跳过失败的sql。


MariaDB [mysql]> reset master;


这时可以发现旧的bin-log都已删除,已经只剩下一个新创建的日志文件。


然后执行下面的语句,注意后面 master_use_gtid=current_pos 这行跟传统模式不同。


MariaDB [mysql]> change master to


master_host='localhost',


master_port=10001,


master_user='rep',


master_password='123456',


master_use_gtid=current_pos;


Query OK, 0 rows affected (0.36 sec)


?


MariaDB [mysql]> start slave;


Query OK, 0 rows affected (0.18 sec)


?


MariaDB [mysql]> show slave status \G;


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


? ? ? ? ? ? ? Slave_IO_State: Waiting for master to send event


? ? ? ? ? ? ? ? ? Master_Host: localhost


? ? ? ? ? ? ? ? ? Master_User: rep


? ? ? ? ? ? ? ? ? Master_Port: 10001


? ? ? ? ? ? ? ? Connect_Retry: 60


? ? ? ? ? ? ? Master_Log_File: mysql-bin.000001


? ? ? ? ? Read_Master_Log_Pos: 313


? ? ? ? ? ? ? Relay_Log_File: lyw-hp-relay-bin.000002


? ? ? ? ? ? ? ? Relay_Log_Pos: 601


? ? ? ? Relay_Master_Log_File: mysql-bin.000001


? ? ? ? ? ? Slave_IO_Running: Yes


? ? ? ? ? ? Slave_SQL_Running: Yes


? ? ? ? ? ? ? ? ? ? ? ? ? 。。。。。。


? ? ? ? ? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ? Using_Gtid: Current_Pos


后面比传统的主从方式多了一行内容? Using_Gtid: Current_Pos,说明使用了新的主从方式。


设置好后,同样需要跟测试下,对主库的修改是否影响到从库的内容。


Mysql:


Mysql5.6版本开始支持GTID复制方式,其配置方式跟MariaDB不同,需要先在配置文件里修改相关配置。新增内容如下


[mysqld]


gtid-mode? ? ? ? ? ? ? = on


log-slave-updates? ? ? = true


enforce-gtid-consistency= true



然后启动这两个数据库。同样需要配置相应的同步用户。


然后在从库执行下面的命令,注意最后这行 master_auto_position=1 跟 MariaDB的不同。


mysql> change master to?


master_host='localhost',?


master_port=20001,?


master_user='rep',?


master_password='123456',


master_auto_position=1;?


mysql> start slave;?


mysql> show slave status \G;


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


? ? ? ? ? ? ? Slave_IO_State: Waiting for master to send event


? ? ? ? ? ? ? ? ? Master_Host: localhost


? ? ? ? ? ? ? ? ? Master_User: rep


? ? ? ? ? ? ? ? ? Master_Port: 20001


? ? ? ? ? ? ? ? Connect_Retry: 60


? ? ? ? ? ? ? Master_Log_File: mysql-bin.000004


? ? ? ? ? Read_Master_Log_Pos: 850


? ? ? ? ? ? ? Relay_Log_File: lyw-hp-relay-bin.000002


? ? ? ? ? ? ? ? Relay_Log_Pos: 1060


? ? ? ? Relay_Master_Log_File: mysql-bin.000004


? ? ? ? ? ? Slave_IO_Running: Yes


? ? ? ? ? ? Slave_SQL_Running: Yes


? ? ? ? ? ? ? ? ? ? ? ? ? 。。。。。。? ? ? ? ? ? ? ? ? ? ? ? ?


? ? ? ? ? Retrieved_Gtid_Set: a34819a9-700f-11e5-a841-34238703623c:1-3


? ? ? ? ? ? Executed_Gtid_Set: a34819a9-700f-11e5-a841-34238703623c:1-3


可见最后增加了两行跟GTID相关的状态,Retrieved_Gtid_Set,Executed_Gtid_Set,说明采用了GTID这种新型同步方式。


用同样的方法,一个主数据库后面可以跟多个从数据库,增加数据的可靠性和读的吞吐量。


以上主从配置是最基本配置,在线上使用还不够,主挂了后,并不会自动进行切换,请关注。


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL与MariaDB 传统主从集群配置 下一篇Spring+MyBatis多数据源切换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: