MySQL Router高可用搭建,你学会了吗?( 三 )

  1. 时钟同步,对于分布式、集中式集群,时钟同步都非常重要,时间不一致会引发各种异常情况
yum -y install ntpdate// 安装ntpdate客户端ntpdate npt1.aliyun.com// 如果连通外网,可以指定阿里云ntp服务器,或者指定内网ntp serverhwclock -w// 更新BIOS时间2.2 通过MySQL Router搭建读写分离MGR集群具体参考文章https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/deep-dive-mgr/deep-dive-mgr-07.md
2.3 在三台服务器上分别进行进行MySQL Router部署并启动,MySQL Router配置文件如下# File automatically generated during MySQL Router bootstrap[DEFAULT]name=systemuser=rootkeyring_path=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/var/lib/mysqlrouter/keyringmaster_key_path=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/mysqlrouter.keyconnect_timeout=5read_timeout=30dynamic_state=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/bin/../var/lib/mysqlrouter/state.jsonclient_ssl_cert=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/var/lib/mysqlrouter/router-cert.pemclient_ssl_key=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/var/lib/mysqlrouter/router-key.pemclient_ssl_mode=DISABLEDserver_ssl_mode=AS_CLIENTserver_ssl_verify=DISABLEDunknown_config_optinotallow=error[logger]level=INFO[metadata_cache:bootstrap]cluster_type=grrouter_id=1user=mysql_router1_g9c62rk29lcnmetadata_cluster=gdbClusterttl=0.5auth_cache_ttl=-1auth_cache_refresh_interval=2use_gr_notificatinotallow=0[routing:bootstrap_rw]bind_address=0.0.0.0bind_port=6446destinatinotallow=metadata-cache://gdbCluster/?role=PRIMARYrouting_strategy=first-availableprotocol=classic[routing:bootstrap_ro]bind_address=0.0.0.0bind_port=6447destinatinotallow=metadata-cache://gdbCluster/?role=SECONDARYrouting_strategy=round-robin-with-fallbackprotocol=classic[routing:bootstrap_x_rw]bind_address=0.0.0.0bind_port=6448destinatinotallow=metadata-cache://gdbCluster/?role=PRIMARYrouting_strategy=first-availableprotocol=x[routing:bootstrap_x_ro]bind_address=0.0.0.0bind_port=6449destinatinotallow=metadata-cache://gdbCluster/?role=SECONDARYrouting_strategy=round-robin-with-fallbackprotocol=x[http_server]port=8443ssl=1ssl_cert=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/var/lib/mysqlrouter/router-cert.pemssl_key=/opt/software/mysql-router-8.0.32-linux-glibc2.17-x86_64-minimal/var/lib/mysqlrouter/router-key.pem[http_auth_realm:default_auth_realm]backend=default_auth_backendmethod=basicname=default_realm[rest_router]require_realm=default_auth_realm[rest_api][http_auth_backend:default_auth_backend]backend=metadata_cache[rest_routing]require_realm=default_auth_realm[rest_metadata_cache]require_realm=default_auth_realm2.4 验证三台MySQL Router连接测试[#12#root@gdb2 ~ 14:12:45]12 mysql -uroot -pAbc1234567* -h172.17.140.25 -P6446 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:12:46 |+---------------------+[#13#root@gdb2 ~ 14:12:46]13 mysql -uroot -pAbc1234567* -h172.17.140.25 -P6447 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:12:49 |+---------------------+[#14#root@gdb2 ~ 14:12:49]14 mysql -uroot -pAbc1234567* -h172.17.140.24 -P6446 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:12:52 |+---------------------+[#15#root@gdb2 ~ 14:12:52]15 mysql -uroot -pAbc1234567* -h172.17.140.24 -P6447 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:12:55 |+---------------------+[#16#root@gdb2 ~ 14:12:55]16 mysql -uroot -pAbc1234567* -h172.17.139.164 -P6446 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:12:58 |+---------------------+[#17#root@gdb2 ~ 14:12:58]17 mysql -uroot -pAbc1234567* -h172.17.139.164 -P6447 -N -e 'select now()' 2> /dev/null+---------------------+| 2023-03-17 14:13:01 |+---------------------+[#18#root@gdb2 ~ 14:13:01]182.5 安装pacemaker
  1. 安装pacemaker
安装pacemaker会依赖corosync这个包,所以直接安装pacemaker这一个包就可以了
[#1#root@gdb1 ~ 10:05:55]1 yum -y install pacemaker
  1. 安装pcs管理工具
[#1#root@gdb1 ~ 10:05:55]1 yum -y install pcs
  1. 创建集群认证操作系统用户,用户名为hacluster,密码设置为abc123
[#13#root@gdb1 ~ 10:54:13]13 echo abc123 | passwd --stdin hacluster更改用户 hacluster 的密码。passwd:所有的身份验证令牌已经成功更新 。
  1. 启动pcsd,并且设置开机自启动
 [#16#root@gdb1 ~ 10:55:30]16 systemctl enable pcsdCreated symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.[#17#root@gdb1 ~ 10:56:03]17 systemctl start pcsd[#18#root@gdb1 ~ 10:56:08]18 systemctl status pcsd● pcsd.service - PCS GUI and remote configuration interfaceLoaded: loaded (/usr/lib/systemd/system/pcsd.service; enabled; vendor preset: disabled)Active: active (running) since 三 2023-02-22 10:56:08 CST; 6s agoDocs: man:pcsd(8)man:pcs(8) Main PID: 27677 (pcsd)Tasks: 4Memory: 29.9MCGroup: /system.slice/pcsd.service└─27677 /usr/bin/ruby /usr/lib/pcsd/pcsd2月 22 10:56:07 gdb1 systemd[1]: Starting PCS GUI and remote configuration interface...2月 22 10:56:08 gdb1 systemd[1]: Started PCS GUI and remote configuration interface.[#19#root@gdb1 ~ 10:56:14]19


推荐阅读