linux企业部分: mysql的高可用
MHA高可用部署
1、server1\2\3机,关闭数据库服务。
/etc/init.d/mysqld stop
2、server1\2\3机,重新初始化
cd /data/mysql
rm -fr *
vim /etc/my.cnf:
server-id=1 gtid_mode=ON enforce-gtid-consistency=true master_info_repository=TABLE relay_log_info_repository=TABLE log_slave_updates=ON log_bin=binlog binlog_format=ROW
mysqld --initialize --user=mysql
/etc/init.d/mysqld start
mysql_secure_installation
3、完成初始化,设定三台机器
master(server1):
mysql -p westos
grant reoplication slave on *.* to repl@'%' identified by 'westos';
server2和server3:
mysql -p westos
change master to master_host = '172.25.37.1', master_user='repl', master_password='westos', master_auto_positiion=1;
start slave;
show slave status;
4、在server4上安装需要的资源,并将node节点上的所需要的资源下发。
本地资源获取:
lftp 172.25.254.250
cd pub/docs/mysql
get MHA-7 exit
获取资源如下:
perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm
mha4mysql-manager-0.58-0.el7.centos.noarch.rpm perl-Mail-Sender-0.8.23-1.el7.noarch.rpm
mha4mysql-manager-0.58.tar.gz perl-Mail-Sendmail-0.79-21.el7.noarch.rpm
mha4mysql-node-0.58-0.el7.centos.noarch.rpm perl-MIME-Lite-3.030-1.el7.noarch.rpm
mysql-router-community-8.0.21-1.el7.x86_64.rpm perl-MIME-Types-1.38-2.el7.noarch.rpm
perl-Config-Tiny-2.14-7.el7.noarch.rpm perl-Net-Telnet-3.03-19.el7.noarch.rpm
perl-Email-Date-Format-1.002-15.el7.noarch.rpm perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm
yum install *.rpm -y
##安装下载的所有rpm包
将node节点的包下发给其他三台主机。
5、将MHA全局部署文件整合
tar zxf mha4mysql-manager-0.58.tar.gz
##解压压缩包
cd mha4mysql-manager-0.58
cd samples/
cd conf
cp masterha_default.cnf /etc/masterha/app.cnf
vim /etc/masterha/app.cnf:
6、server1\2\3\4免密,脚本检查
ssh-keygen
ssh-copy-id xyf1
ssh-copy-id xyf2
ssh-copy-id xyf3
scp -r .ssh/ xyf1:
scp -r .ssh/ xyf2:
scp -r .ssh/ xyf3:
脚本检查: masterha_check_ssh --conf=/etc/masterha/app.cnf
7、在server1\2\3中,任意一台中,进入数据库,对远程用户进行数据库登录授权
mysql -pwestos
grant all on *.* to root@'%' identified by 'westos';
##作授权
flush privileges;
##刷新授权列表
8、在server4中用脚本检查
masterha_check_repl --conf=/etc/masterha/app.cnf
##运行脚本
到这里高可用的部署就已经结束了。