,,,,,,尼古拉斯(MySQL | Master 高可用性)是一种基于主从模型的相当成熟的一种解决方案,我们对于主做一个高可用,使得哪怕在主数据库云服务器宕机时,我们的奴隶可以及时顶上,直接变成主主机,保证服务可靠的运行;
,
由于mha4mysql不存在于镜像仓库和epel中,所以需要下载rpm包,我下载的是
mha4mysql-manager -.noarch.rpm
mha4mysql-node -.noarch.rpm
,
建议尼古拉斯服务器和主服务器分开,否则主物理宕机的话,尼古拉斯也会宕机;
,
,
,
尼古拉斯:,,CentOS 7.5 b 172.16.75.2
主:CentOS 7.5 d 172.16.75.4
奴隶:,,CentOS 7.5 c 172.16.75.3
,
三台主机都需要进行;
,
因为如果大师宕机,奴隶需要顶上,所以奴隶和主人都二进制日志和中继日志;
,
配置文件:
(mysqld) datadir=/var/lib/mysql 套接字=/var/lib/mysql/mysql.sock #,Disabling symbolic-links  is recommended 用prevent assorted security 风险 符号链接=0 #,Settings user 以及group 断开连接;ignored when systemd is 使用。 #,If 你;need 用run mysqld under a different user 或是团体, #,customize your  systemd unit file for mariadb according 用 #,instructions 拷贝;http://fedoraproject.org/wiki/Systemd , innodb_file_per_table=对 skip_name_resolve=对 server_id=401 log_bin=/var/lib/mysql/binlog sync_binlog=1 innodb_flush_log_at_trx_commit=1 relay_log_purge=0 relay_log=relay_log , (mysqld_safe) 日志错误=/var/log/mariadb/mariadb.log pid文件=/var/运行/mariadb/mariadb.pid , # #,include all  files 得到,config 目录 # ! includedir /etc/my.cnf.d
,
配置文件:
(mysqld) datadir=/var/lib/mysql 套接字=/var/lib/mysql/mysql.sock #,Disabling symbolic-links  is recommended 用prevent assorted security 风险 符号链接=0 #,Settings user 以及group 断开连接;ignored when systemd is 使用。 #,If 你;need 用run mysqld under a different user 或是团体, #,customize your  systemd unit file for mariadb according 用 #,instructions 拷贝;http://fedoraproject.org/wiki/Systemd , innodb_file_per_table=对 skip_name_resolve=对 server_id=301 read_only=对 relay_log=slavelog relay_log_purge=0 log_bin=binlog , (mysqld_safe) 日志错误=/var/log/mariadb/mariadb.log pid文件=/var/运行/mariadb/mariadb.pid , # #,include all  files 得到,config 目录 # ! includedir /etc/my.cnf.d
然后其他配置不变,搭建主从模型;
,
1。下载完尼古拉斯的rpm包后,分别在对应的节点安装对应的安装包,通过查看mha4mysql-manager配置文件,全是二进制执行脚本。所以尼古拉斯的;
,
[root@slave1 ~] #, rpm -ql mha4mysql-manager/usr/bin/masterha_check_repl/usr/bin/masterha_check_ssh/usr/bin/masterha_check_status/usr/bin/masterha_conf_host/usr/bin/masterha_manager/usr/bin/masterha_master_monitor/usr/bin/masterha_master_switch/usr/bin/masterha_secondary_check/usr/bin/masterha_stop/usr/share/man/man1/masterha_check_repl.1.gz/usr/share/man/man1/masterha_check_ssh.1.gz/usr/share/man/man1/masterha_check_status.1.gz/usr/share/man/man1/masterha_conf_host.1.gz/usr/share/man/man1/masterha_manager.1.gz/usr/share/man/man1/masterha_master_monitor.1.gz/usr/share/man/man1/masterha_master_switch.1.gz/usr/share/man/man1/masterha_secondary_check.1.gz/usr/share/man/man1/masterha_stop.1.gz/usr/share/perl5/vendor_perl/尼古拉斯/Config.pm/usr/share/perl5/vendor_perl/尼古拉斯/DBHelper.pm/usr/share/perl5/vendor_perl/尼古拉斯/FileStatus.pm/usr/share/perl5/vendor_perl/尼古拉斯/HealthCheck.pm/usr/share/perl5/vendor_perl/尼古拉斯/ManagerAdmin.pm/usr/share/perl5/vendor_perl/尼古拉斯/ManagerAdminWrapper.pm/usr/share/perl5/vendor_perl/尼古拉斯/ManagerConst.pm/usr/share/perl5/vendor_perl/尼古拉斯/ManagerUtil.pm/usr/share/perl5/vendor_perl/尼古拉斯/MasterFailover.pm/usr/share/perl5/vendor_perl/尼古拉斯/MasterMonitor.pm/usr/share/perl5/vendor_perl/尼古拉斯/MasterRotate.pm/usr/share/perl5/vendor_perl/尼古拉斯/SSHCheck.pm/usr/share/perl5/vendor_perl/尼古拉斯/Server.pm/usr/share/perl5/vendor_perl/尼古拉斯ServerManager.pmMySQL高可用尼古拉斯讲析