目录
环境准备
服务器
五台服务器:
192.168.249.200 master1 软件:mysql
192.168.249.201 master2 软件:mysql
192.168.249.202 mycat 软件:mysql 、mycat、jdk
192.168.249.203 slave1 软件:mysql
192.168.249.204 slave2 软件:mysql
关闭所有服务器的防火墙和selinux:
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 设置开机不启动
vim /etc/selinux/config
把 SELINUX=enforcing
改为 SELINUX=disabled
master1服务器负责处理所有的写请求,slave1、master2、slave2负责所有的读请求。当master1宕机,master2会成为新的负责写请求的主机,master1、master2互为备份机。在此集群中,四台服务器的数据都是一致的,mycat服务器则实现读写分离。
服务器的配置
主库的配置
master1的配置:
修改配置文件/etc/my.cnf
添加以下配置:
#mysql服务器id,保证整个集群环境中唯一
server-id=2
#指定同步的数据库
binlog-do-db=db01
binlog-do-db=db02
binlog-do-db=db03
#在作为从数据库的时候,有写入操作也要更新二进制文件
log-slave-updates
重启mysqld服务:
root@localhost ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
master2的配置:
修改配置文件/etc/my.cnf
添加以下配置:
#mysql服务器id,保证整个集群环境中唯一
server-id=3
#指定同步的数据库
binlog-do-db=db01
binlog-do-db=db02
binlog-do-db=db03
#在作为从数据库的时候,有写入操作也要更新二进制文件
log-slave-updates
重启mysqld服务:
root@localhost ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
创建主从复制的账号:
分别登录到master1和master2的MySQL,执行:
此语句创建root用户,密码123456,该root用户可以在任意主机上连接mysql服务
create user 'cyx'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
此语句为root用户赋予主从复制权限
grant replication slave on *.* to 'cyx'@'%';
查看两台master主库的二进制坐标:
master1:
show master status;
+---------------+----------+----------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+----------------+------------------+-------------------+
| binlog.000004 | 658 | db01,db02,db03 | | |
+---------------+----------+----------------+------------------+-------------------+
1 row in set (0.00 sec)
maser2:
show master status;
+---------------+----------+----------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+----------------+------------------+-------------------+
| binlog.000004 | 878 | db01,db02,db03 | | |
+---------------+----------+----------------+------------------+-------------------+
1 row in set (0.00 sec)
从库的配置
slave1:
修改配置文件/etc/my.cnf,添加:
# mysql服务器id,保证整个集群环境中唯一
server-id=4
重启mysqld服务:
root@localhost ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
slave2:
修改配置文件/etc/my.cnf,添加:
# mysql服务器id,保证整个集群环境中唯一
server-id=5
重启mysqld服务:
root@localhost ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
关联两台从库对应的主库:
slave1关联复制master1:
在


1889

被折叠的 条评论
为什么被折叠?



