MySQL的高可用、MHA原理及其部署、切换方式以及vip的漂移

本文介绍了在实验环境中配置MySQL主从复制,并使用MHA实现高可用。详细步骤包括主从复制配置、MHA的安装、初始化以及测试故障转移,特别强调了VIP漂移的配置和手动切换过程。
摘要由CSDN通过智能技术生成

一、实验环境

四台虚拟机
server1 :172.25.7.2   MHA的Manager
server2 :172.25.7.3  主机master
server3 :172.25.7.4  从机slave
server4 :172.25.7.5  从机slave
 
首先,后三台主机实验环境清空,重新初始化,
/etc/init.d/mysqld stop
cd /data/mysql   
rm -rf *
mysqld --initialize --user=mysql

二、主从复制的配置

 1.主机server2的配置

1.修改/etc/my.cnf文件
[root@server2 mysql]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
server-id=1
gtid_mode=ON
enforce-gtid-consistency=ON
default_authentication_plugin=mysql_native_password
 
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
 
2.初始化,
[root@server2 mysql]#/etc/init.d/mysqld stop
[root@server2 mysql]#pwd
/data/mysql
[root@server2 mysql]# rm -rf *
[root@server2 mysql]# ls
[root@server2 mysql]# mysqld --initialize --user=mysql   #初始化
2020-08-22T01:52:16.382767Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.21) initializing of server in progress as process 28860
2020-08-22T01:52:16.392786Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-08-22T01:52:17.099404Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-08-22T01:52:18.708445Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 79!fv?KLFvy
[root@server2 mysql]# /etc/init.d/mysqld start   #开启mysql
Starting MySQL.Logging to '/data/mysql/lue3.westos.com.err'.
 SUCCESS! 
3.登陆mysql数据库创建用户
[root@server2 mysql]# mysql -p
Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g. 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> alter user root@localhost identified by 'westos';  #修改密码
Query OK, 0 rows affected (0.01 sec)
 
mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> create user repl@'%' identified by 'westos';   #创建用户
Query OK, 0 rows affected (0.01 sec)
 
mysql> grant replication slave on *.* to repl@'%';   #给权限
Query OK, 0 rows affected (0.01 sec)
 
mysql> 
 

2.server3和server4从机的配置

1./etc/my.cnf文件的配置
[root@server3 ~]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
server-id=2    #server4的server_id改为3
gtid_mode=ON
enforce-gtid-consistency=ON
default_authentication_plugin=mysql_native_password
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
 
2.初始化
[root@server3 mysql]# /etc/init.d/mysqld stop
Shutting down MySQL.... SUCCESS! 
[root@lue2 mysql]# vim /etc/my.cnf
[root@lue2 mysql]# pwd
/data/mysql
[root@server3 mysql]# rm -rf *
[root@server3 mysql]# ls
[root@server3 mysql]# ls
[root@server3 mysql]# mysqld --initialize --user=mysql
2020-08-22T01:57:03.950961Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.21) initializing of server in progress as process 5155
2020-08-22T01:57:03.961356Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-08-22T01:57:05.224378Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-08-22T01:57:06.818661Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !SwlaLrKN7)y
[root@server3 mysql]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/lue2.westos.com.err'.
. SUCCESS!  
 
3.从库的配置
[root@server3 mysql]# mysql -p
E
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Horizon_carry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值