简单介绍
数据库的高可用,首先需要多主多从的支持.那么多主之间怎么同步呢?
不妨先来看一下MySQL主从复制
看完主从复制,聪明的你是否已经想到怎么同步多主呢?
没错,那就是多主之间互为主从.
废话不多说,开始配置.
环境描述
- 操作系统:CentOS 7.4 1708
- 服务器:192.168.0.123
- 服务器:192.168.0.124
MySQL主主复制
先将两个服务器锁表
1 | mysql -u root -p |
修改两个服务器的数据库配置
1 | 123服务器配置: |
重启两个服务器MySQL
1 | systemctl restart mysqld.service |
建立账户
在123服务器上建立只能被124服务器帐户并授权slave
1 | mysql> MySQL -u root -p |
在124服务器上建立只能被123服务器帐户并授权slave
1 | mysql> MySQL -u root -p |
查看数据库bin-log状态
123服务器
1 | mysql> show master status; |
124 服务器
1 | mysql> show master status; |
File和Position已经要记下来,后面要用到。
指定同步位置
123服务器执行
1 | mysql> change master to |
124服务器执行
1 | mysql> change master to |
启动slave同步进程并查看状态
123服务器状态
1 | mysql> start slave; |
124服务器状态
1 | mysql> start slave; |
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
验证同步
分别创建数据库
123服务器
1 | msyql> create database testa; |
124服务器
1 | msyql> create database testb; |
查看
123服务器
1 | msyql> show databases; |
124服务器
1 | msyql> show databases; |
可以看到两个服务器都有testa
和testb
数据库
通过MyCAT中间件实现高可用+读写分离
MyCAT介绍和安装请参考,这里就不再多说。
之前的配置只能说实现了负载读写分离,这里主要说一下怎么配置MyCAT来实现高可用.
通过看MyCAT的开发文档做以下调整
配置
1 |
|
重启MyCAT
1 | $ mycat restart |
完