MySql主主同步结构配置

作者: 技术老男孩 | 来源:发表于2023-02-11 07:50 被阅读0次

一、环境准备:

Ip地址 主机名 角色 数据管理员密码 公共配置
192.168.88.50 Host50 Master服务器 123qqq…A 关闭防火墙
禁用selinux
192.168.88.51 Host51 Slave服务器 123qqq…A 关闭防火墙
禁用selinux

二、配置流程:

1、50主机配置Master
2、51主机配置Master
3、50主机配置Slave
4、51主机配置Slave

第一步:50主机配置Master

  • 修改配置文件my.cnf
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
server_id=50  # 指定server_id
log_bin=master50   # 定义日志名
:wq
  • 重启服务生效配置
[root@host50 ~]# systemctl  restart mysqld
  • 用户授权
# 进入mysql服务
[root@host50 ~]# mysql -uroot -p123qqq...A
# 创建用户并授权
mysql> grant replication slave on *.*  
    -> to repluser@"%" identified by "123qqq…A";
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 查看master信息,目的是查看File和Position的值
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master50.000001 |      154 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

第二步:51主机配置Master

  • 修改配置文件my.cnf
[root@host51 ~]# vim /etc/my.cnf
[mysqld]
server_id=51  # 指定server_id
log_bin=master51   # 定义日志名
:wq
  • 重启服务生效配置
[root@host51 ~]# systemctl  restart mysqld
  • 用户授权
# 进入mysql服务
[root@host51 ~]# mysql -uroot -p123qqq...A
# 创建用户并授权
mysql> grant replication slave on *.*  
    -> to repluser@"%" identified by "123qqq…A";
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 查看master信息,目的是查看File和Position的值
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master51.000001 |      154 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

第三步:50主机配置Slave

  • 进入mysql服务,切记要保持主从数据库数据一致
[root@host50 ~]# mysql -uroot -p123qqq...A
  • 指定主服务器信息(指定51为主服务器)
mysql> change master to  
 -> master_host="192.168.88.51", # 主服务器Ip地址
 -> master_user="repluser" , # 主服务器添加用户名
 -> master_password="123qqq...A", # 用户密码
 -> master_log_file="master51.000001" , # 主服务器binlog日志名
 -> master_log_pos=154 ; # 偏移量
  • 启动slave进程
mysql> start slave;
  • 查看状态信息(IO线程和 SQL线程必须同时是YES 状态)
mysql> show slave status \G 

第四步:51主机配置Slave

  • 进入mysql服务,切记要保持主从数据库数据一致
[root@host51 ~]# mysql -uroot -p123qqq...A
  • 指定主服务器信息(指定51为主服务器)
mysql> change master to  
 -> master_host="192.168.88.50", # 主服务器Ip地址
 -> master_user="repluser" , # 主服务器添加用户名
 -> master_password="123qqq...A", # 用户密码
 -> master_log_file="master50.000001" , # 主服务器binlog日志名
 -> master_log_pos=154 ; # 偏移量
  • 启动slave进程
mysql> start slave;
  • 查看状态信息(IO线程和 SQL线程必须同时是YES 状态)
mysql> show slave status \G 

第五步:测试主主结构的配置

  • 先在host50主机健库表插入记录
  • 在host51主机可以看到同样的数据
[root@host50 ~]# mysql -uroot -p123qqq...A 
create database db1;
create table db1.a(id int);
insert into db1.a values(666);
select * from db1.a;
+------+
| id   |
+------+
|  666 |
+------+
  • 然后再在host51库下的表插入新记录,在host50主机可以看到同样的数据
[root@host51 ~]# mysql -uroot -p123qqq...A 
insert into db1.a values(777); 
select * from db1.a;
+------+
| id   |
+------+
|  666 |
|  777 |
+------+
  • 在 host50主机查看数据
[root@host50 ~]# mysql -uroot -p123qqq...A 
select * from db1.a;
+------+
| id   |
+------+
|  666 |
|  777 |
+------+

相关文章

网友评论

    本文标题:MySql主主同步结构配置

    本文链接:https://www.haomeiwen.com/subject/twsihdtx.html