MySql主主同步結構配置

一、環(huán)境準備:

Ip地址 主機名 角色 數(shù)據(jù)管理員密碼 公共配置
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
# 創(chuàng)建用戶并授權
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
# 創(chuàng)建用戶并授權
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服務,切記要保持主從數(shù)據(jù)庫數(shù)據(jù)一致
[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;
  • 查看狀態(tài)信息(IO線程和 SQL線程必須同時是YES 狀態(tài))
mysql> show slave status \G 

第四步:51主機配置Slave

  • 進入mysql服務,切記要保持主從數(shù)據(jù)庫數(shù)據(jù)一致
[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;
  • 查看狀態(tài)信息(IO線程和 SQL線程必須同時是YES 狀態(tài))
mysql> show slave status \G 

第五步:測試主主結構的配置

  • 先在host50主機健庫表插入記錄
  • 在host51主機可以看到同樣的數(shù)據(jù)
[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主機可以看到同樣的數(shù)據(jù)
[root@host51 ~]# mysql -uroot -p123qqq...A 
insert into db1.a values(777); 
select * from db1.a;
+------+
| id   |
+------+
|  666 |
|  777 |
+------+
  • 在 host50主機查看數(shù)據(jù)
[root@host50 ~]# mysql -uroot -p123qqq...A 
select * from db1.a;
+------+
| id   |
+------+
|  666 |
|  777 |
+------+
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容