MySQL8主主同步配置

        所谓双主备份,其实也就是互做主从复制,每台master既是master,又是另一台服务器的slave。

目录

一、环境准备

二、数据库安装:

三、修改默认存储路径(AB库)

四、MasterA配置

五、MasterB配置

六、MasterA操作

七、MasterB操作

八、开启同步(AB库)

九、验证


一、环境准备

        操作系统:CentOS 7. 6

        数据库:MySQL 8.0.30

masterA

192.168.0.62

masterB

192.168.0.123

二、数据库安装:

        略

        安装完成后登录数据库,修改root的密码认证方式,主要是为了保证低版本的navicat可以连接数据库。

select user,host,plugin from mysql.user;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

flush privileges;

三、修改默认存储路径(AB库)

        mysql安装完成后,默认存储路径会放在/var/lib/mysql下,但是通常情况下,根目录分配的磁盘空间有限,需要将存储路径修改至数据盘。

        例如数据盘挂载在“/data”下:

service mysqld stop #停止mysql服务

cd /var/lib cp -a mysql /data/

vi /etc/my.cnf

        修改datadir,将datadir=/var/lib/mysqld改为atadir=/data/mysql

service mysqld start         #启动mysql服务

四、MasterA配置

        vi /etc/my.cnf

        增加以下配置

server-id=1                      #服务器的标识,要求每个节点id不一致
log-bin=mysql-bin1               #日志文件名称,每个节点名称不一致
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2        #需要将两台服务器的auto_increment_increment增长量都配置为2
auto_increment_offset=1           #把auto_increment_offset分别配置为1和2,这样可以避免两台服务器同时做更新时,自增长字段的值之间发生冲突。
max_connections = 3000
max_allowed_packet = 64M
default_authentication_plugin = mysql_native_password    #MySQL8.0.4开始,默认身份认证开始改变。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

        mysql -u root -p #登录数据库

create user 'repl'@'%' identified by 'password';  #创建用户
grant replication slave on *.*  to 'repl'@'%';    #授权用户
flush privileges;
flush tables with read lock;   #锁定数据库表暂时无法写服务
show master status;           #查看binlog文件值与pos值,记住文件名和pos值

五、MasterB配置

        vi /etc/my.cnf

        增加以下配置

server-id=2                      #服务器的标识,要求每个节点id不一致
log-bin=mysql-bin2               #日志文件名称,每个节点名称不一致
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2        #需要将两台服务器的auto_increment_increment增长量都配置为2
auto_increment_offset=2           #把auto_increment_offset分别配置为1和2,这样可以避免两台服务器同时做更新时,自增长字段的值之间发生冲突。
max_connections = 3000
max_allowed_packet = 64M
default_authentication_plugin = mysql_native_password    #MySQL8.0.4开始,默认身份认证开始改变。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

        mysql -u root -p #登录数据库

create user 'repl'@'%' identified by 'password';  #创建用户
grant replication slave on *.*  to 'repl'@'%';    #授权用户
flush privileges; 
flush tables with read lock;   #锁定数据库表暂时无法写服务
show master status;           #查看binlog文件值与pos值,记住文件名和pos值

六、MasterA操作

        mysql -u root -p #登录数据库

change master to master_host='192.168.0.123', master_user='repl', master_password='password',master_port=3306, master_log_file='mysql-bin2.000001', master_log_pos=536;        #host配置为MasterB的IP,这里注意log_file与master_log_pos值都要对应对应B的show master status;值

七、MasterB操作

        mysql -u root -p #登录数据库

change master to master_host='192.168.0.62', master_user='repl', master_password='password',master_port=3306, master_log_file='mysql-bin1.000001', master_log_pos=546;        #master_host配置为MasterA的IP,这里注意log_file与master_log_pos值都要对应对应A的show master status;值

八、开启同步(AB库)

mysql -u root -p        #登录数据库
unlock tables;          #解锁写
start slave;            #开启同步
show slave status\G     #查看数据库是否正常同步

九、验证

        可以使用navicat连接数据库,进行建库、建表、增删改等操作,验证数据是否同步。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卧龙先生1988

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

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

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

打赏作者

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

抵扣说明:

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

余额充值