本次针对的mysql版本为5.7,首先分别在a服务器和b服务器上安装mysql,可以通过yum安装也可以通过wget下载直接编译安装。安装方式可以多种多样,但必须要确保安装成功。
1.修改a服务器的my.cnf文件
vim /etc/my.cnf
并添加如下内容:
server-id=1 auto_increment_offset=1 auto_increment_increment=2 gtid_mode=on enforce_gtid_consistency=on log-bin=mysql-bin
2.修改b服务器的my.cnf文件
vim /etc/my.cnf
并添加如下内容:
server-id=2 auto_increment_offset=1 auto_increment_increment=2 gtid_mode=on enforce_gtid_consistency=on log-bin=mysql-bin
3.在a服务器上的mysql创建b服务器访问的复制用户
create user b@'ip' identified by '密码'; grant replication slave on *.* to b@'服务器ip';
4.在b服务器上的mysql创建a服务器访问的复制用户
create user a@'ip' identified by '密码'; grant replication slave on *.* to a@'密码';
5.在b服务器上的mysql执行主从配置,进行a主b从
change master to master_host='ip', master_user='b', master_password='?t-p&clsr38i', master_port=3306, master_auto_position=1; start slave; show slave status;
6.在a服务器上的mysql执行主从配置,进行b主a从
change master to master_host='ip', master_user='a', master_password='?t-p&clsr38i', master_port=3306, master_auto_position=1; start slave; show slave status;
然后测试,在a服务器上的mysql新建数据库和对应的数据表,b服务器上的mysql会同步过来,确保数据库和数据表一致。
7.nginx配置
nginx配置mysql集群访问url,确保微服务应用连接相同的url。
nginx中的mysql配置,内容如下:
stream { upstream mysql_proxy{ hash $remote_addr consistent; server a服务器ip:3306 weight=1 max_fails=3 fail_timeout=10s; server b服务器ip:3306 weight=1 max_fails=3 fail_timeout=10s; } server { listen 3306; # 数据库服务器监听端口 proxy_connect_timeout 10s; proxy_timeout 300s; proxy_pass mysql_proxy; } }
特别注意:
生产环境不建议设置mysql端口为3306或3389。
以上就是mysql5.7 集群配置的步骤的详细内容,更多关于mysql 集群配置的资料请关注www.887551.com其它相关文章!