consul1.6实现Mysql-Gtid主从读写分离-03

规划

consul1.6实现Mysql-Gtid主从读写分离-03

Mysql Gtid主从配置

 https://blog.51cto.com/9025736/2500516

consul集群搭建

 https://blog.51cto.com/9025736/2500976

创建mysql用户并授权(mysql服务器需要授权)

 MySQL [(none)]> grant all on *.* to ‘han‘@‘%‘ identified by ‘hanye131‘;
 MySQL [(none)]> flush privileges;

配置consul (consul client端 server3 和server4)

   [root@server4 consul.d]# cd /etc/consul.d
   [root@server4 consul.d]# cat mysql-write.json 
         {
      "services": [
        {
          "name": "mysql-master",
          "tags": [
             "mysql-179"
          ],
          "address": "192.168.31.179",
          "port": 3306,
          "checks": [
            {
              "args": ["/usr/bin/bash","/data/mysql_master.sh"],
              "interval": "10s",
              "timeout": "1s"
            }
          ]
        }
      ]
    }

 [root@server4 consul.d]# cat mysql-readonly.json 
    {
      "services": [
        {
          "name": "mysql-slave",
          "tags": [
             "mysql-180"
          ],
          "address": "192.168.31.180",
          "port": 3306,
          "checks": [
            {
              "args": ["/usr/bin/bash","/data/mysql_slave.sh"],
              "interval": "10s",
              "timeout": "1s"
            }
          ]
        }
      ]
    }
  [root@server4 consul.d]# cat /data/mysql_master.sh 
      #!/bin/bash
      mysql -uhan -phanye131 -h 192.168.31.179 -e "select 1;"
      if [ $? -eq 0 ]; then
        exit 0
      else
        exit 2
      fi
  [root@server4 consul.d]# cat  /data/mysql_slave.sh 
      #!/bin/bash
      mysql -uhan -phanye131 -h 192.168.31.180 -e "select 1;"
      if [ $? -eq 0 ]; then
        exit 0
      else
        exit 2
      fi
   [root@server4 consul.d]# scp /data/mysql_*.sh server3:/data/
     [root@server4 consul.d]# scp /etc/consul.d/mysql-* server3:/etc/consul.d/

重载consul(server3和server4)

 consul reload

测试检测

consul1.6实现Mysql-Gtid主从读写分离-03
consul1.6实现Mysql-Gtid主从读写分离-03
consul1.6实现Mysql-Gtid主从读写分离-03
consul1.6实现Mysql-Gtid主从读写分离-03

停止server3 consul

consul1.6实现Mysql-Gtid主从读写分离-03
[root@server2 consul.d]# dig mysql-master.service.consul
[root@server2 consul.d]# dig mysql-slave.service.consul

正常登录访问

consul1.6实现Mysql-Gtid主从读写分离-03

consul1.6实现Mysql-Gtid主从读写分离-03

上一篇:Linq to Sql : 动态构造Expression进行动态查询


下一篇:MySQL大表备份的简单方法