第一台:192.168.0.160
第二台:192.168.0.170
主從配置,第一步:192.168.0.160 作為主數據庫,192.168.0.170作為從數據庫,配置如下:
========192.168.0.160配置=======
my.cnf配置文件
server-id=1
log-bin=mysql-bin-master #啟用mysql二進制日志文件
binlog-do-db=HA #指定允許從同步的數據庫
binlog-ignore-db=mysql #指定不允許從同步的數據庫
mysql> grant replication slave on *.* to 'slave'@'192.168.0.170' identified by 'password';
mysql> show master status;
mysql> flush privileges
mysql> select * from mysql.user where user='slave';
==================================
==========192.168.0.170=============
my.cnf配置文件
server-id=2
mysql>stop slave;
mysql> change master to master_host='192.168.0.160',master_user='slave',master_password='password';
mysql>flush privileges;
mysql> start slave;
===================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
測試:
在192.168.0.160上創建數據庫
mysql> create database test;
myql> show databases;
在192.168.0.170上查詢數據庫
mysql>show slave status; #io進程和sql進程都必須為yes,表示配置正確。
mysql> show databases;
查詢成功,表示主從配置成功。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
===================================
主從配置,反向再進行部署一次即可。
第二步:192.168.0.170 作為主數據庫,192.168.0.160作為從數據庫,配置如下:
========192.168.0.170配置=======
my.cnf配置文件,添加
log-bin=mysql-bin-slave
binlog-do-db=HA
binlog-ignore-db=mysql
mysql> set sql_log_bin=off #首先關閉bin_log日志記錄
mysql> grant replication slave on *.* to 'slave'@'192.168.0.160' identified by 'password'; #給從庫賦權同步功能
mysql>select host,user from mysql.user where user='slave'; #查詢從庫同步賬號的所有登陸主機信息
mysql> delete from mysql.user where user='slave' and host='ip address'; #刪除多余的不需要的主機登陸信息,安全
mysql>show master status; #查看主庫信息
mysql>set sql_log_bin=on
mysql>flush privileges; #刷新權限表信息
=============================================
========192.168.0.160配置=======
mysql> show slave status; #查詢從庫進程狀態,若有no,則需要檢查網絡及io狀態,關閉防火牆等。
mysql> set sql_log_bin=off;
msyql>stop slave;
msyql>change master to master_host='192.168.0.170',master_user='slave',master_password='password';
mysql> start slave; #如有報錯,則需要使用reset slave 重置slave,然后重新設置
mysql> reset slave;
myql> change master to master_host='192.168.0.170',master_user='slave',master_password='jpassword';
mysql> start slave;
mysql> show slave status\G
mysql> flush priviliges;
mysql>set sql_log_bin=on;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
測試:
在192.168.0.170上創建數據庫
mysql> create database testA;
myql>show slave status; #查詢進程狀態,必須都為yes,表示正常
在192.168.0.160上查詢數據庫驗證
mysql> show database testA; #如果存在表示同步成功
myql>show slave status; #進程狀態必須同為yes。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
至此,mysql主主同步配置全部完成。