跳转

同时启动 4 台虚拟机后,MyCat 启动可能变慢,log日志会报如下错误Startup failed: Timed out waiting for a signal from the JVM. 到设置中配置启动超时时间,命令:vim conf/wrapper.conf

# 启动超时时间 wrapper.startup.timeout=120 再次启动(启动过程可能较慢,具体可以查看日志),并测试mysql -uroot -p -h192.168.171.101 -P8066 四台虚拟机信息:

mysql drbd 双主架构 mysql双主双从原理_linux

  • 配置MySQL

master 1#主服务器唯一id

server-id=1 #启动二进制日志 log-bin=mysql-bin #设置不需要复制的数据库(可设置多个) binlog-ignore-db=information_schema binlog-ignore-db=mycat binlog-ignore-db=mysql binlog-ignore-db=performance_schema binlog-ignore-db=sys #设置需要复制的数据库 binlog-do-db=mycat_01 #设置binlog格式 binlog_format=STATEMENT #以下为 双主双从 额外的配置 #表示在作为从机的时候,有写操作的时候也要更新二进制日志 log-slave-updates #表示每次自增的量,默认是 1 ,因为是双主双从,所以需要更改为 2 避免重复,范围:1 ~ 65535 auto-increment-increment=2 #表示自增起始数字,该机器起始为1 自增后为 1,3,5,7,9.... auto-increment-offset=1

mysql drbd 双主架构 mysql双主双从原理_linux_02

红框内为 双主双从 配置master 2#主服务器唯一id

server-id=3 #启动二进制日志 log-bin=mysql-bin #设置不需要复制的数据库(可设置多个) binlog-ignore-db=information_schema binlog-ignore-db=mycat binlog-ignore-db=mysql binlog-ignore-db=performance_schema binlog-ignore-db=sys #设置需要复制的数据库 binlog-do-db=mycat_01 #设置binlog格式 binlog_format=STATEMENT #以下为 双主双从 额外的配置 #表示在作为从机的时候,有写操作的时候也要更新二进制日志 log-slave-updates #表示每次自增的量,默认是 1 ,因为是双主双从,所以需要更改为 2 避免重复,范围:1 ~ 65535 auto-increment-increment=2 #表示自增起始数字,该机器起始为1 自增后为 2,4,6,8,10.... auto-increment-offset=2

mysql drbd 双主架构 mysql双主双从原理_mysql_03

红框内是与 maser 1 的区别slave 1 和 slave 2 ,只有server-id不同#从服务器唯一id

server-id=2 #启动中继日志 relay-log=mysql-relay

mysql drbd 双主架构 mysql双主双从原理_自增_04

重启 4 台mysql,并查看mysql状态,确保启动成功,命令:systemctl restart mysqld

systemctl status mysqld在从机上配置需要复制的主机

slave 1 复制 master 1

slave 2 复制 master 2

查看主机状态,命令:show master status \G查看主机状态后,不要进行sql操作,需保证从机接入点与各自主机一致

mysql drbd 双主架构 mysql双主双从原理_数据库_05

复制主机,命令:#复制主机的命令

CHANGE MASTER TO MASTER_HOST='主机的IP地址', MASTER_USER='slave1', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.具体数字', MASTER_LOG_POS=具体值;

mysql drbd 双主架构 mysql双主双从原理_自增_06

启动slave,命令:start slave;查看两台 slave 状态,命令:show slave status \G

mysql drbd 双主架构 mysql双主双从原理_mysql_07

确保都是 Yes,如果不是,查看黄色框内报错原因。

停止从复制,命令:stop slave;重新配置 主,命令:reset master;配置 master 1 和 master 2 互为主备

master 1 复制 master 2

master 2 复制 master 1

mysql drbd 双主架构 mysql双主双从原理_linux_08

开启 slave 并查看状态,确保都是 Yes测试

创建 mycat_01 数据库

mysql drbd 双主架构 mysql双主双从原理_自增_09

创建表 user

*

mysql drbd 双主架构 mysql双主双从原理_mysql drbd 双主架构_10

插入数据

mysql drbd 双主架构 mysql双主双从原理_mysql_11

停掉 master 1 ,从master 2 写入,两个 slave 依然进行复制,当 master 1 重启后,会自动更新matser 2 改动数据。

跳转

end...