mysql8主从双机热备配置

大致拓扑关系如下
mysql8双机热备高可用配置_第1张图片

使用的软件为
mysql+keepalived

安装软件前准备
yum -y install epel-release keepalived(添加epel源,安装keepalived)

安装mysql的yum源
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
选择准备使用的mysql版本(当前为Mysql8)
mysql8双机热备高可用配置_第2张图片
更改配置文件中所选版本enable项为1

yum -y install mysql*

等待安装完成,获取Mysql初始root密码记录好
grep ‘password’ /var/log/mysqld.log
mysql8双机热备高可用配置
配置主从
在/etc/my.conf加入以下选项
mysql8双机热备高可用配置_第3张图片
分别为启用二进制日志,配置serverid(2台互为主从id号不能一样)
log-bin后面的内容为生成文件的名字开头可随意安排
使server-id和log-bin的配置修改生效:
systemctl restart mysqld
查看binlog是否已生成
mysql8双机热备高可用配置_第4张图片
在两台机器上分别添加一个用于从主机访问的帐号
为slave用户赋予任何数据库中任何表上的增删改查权限
为了安全,指定IP地址,格式如下:
第1,2台服务器(IP1)运行:
create user ‘用户名’@’允许登录的IP’ identified by ‘密码’;
grant all on . to ‘用户’@’允许IP’;

将两台数据库服务器的mysql都锁定,【非常重要】.
在mysql命令模式下:
SLAVE STOP
FLUSH TABLES WITH READ LOCK; ##这个一定要先执锁定行后,才能够用show master status;查看状态。
SHOW MASTER STATUS; ##前面已经查看过了。
此时请保证执行这两条命令的mysql控制台不要退出,【非常重要】.
然后进mysql控制台,分别产看相关信息
mysql8双机热备高可用配置_第5张图片
1.为从服务器需要读取的log文件,
2为开始第一次同步的位置

开始配置互为主从同步
执行下列命令进入mysql控制台
change master to
master_host=’同步主机IP’,
master_host=端口号,
master_user=’用户’,
master_password=’密码’,
master_log_fiel=’目标主机binlog文件名’
master_log_pos=开始同步的位置;
启动同步start slave;
查看主从配置注意下图标红处
mysql8双机热备高可用配置_第6张图片

进行测试
对数据库进行建表,建库,删除等操作,查看两边数据库内容是否一致