一、 概念:
① 資料庫同步 (主從同步 --- 主要資料庫寫的同時 往從伺服器寫資料)
② 資料庫同步 (主主同步 --- 兩台資料庫伺服器互相寫資料)
二、 舉例
資料庫伺服器(A) 主要資料庫 IP:192.168.1.134
資料庫伺服器(B) 主要資料庫 IP:192.168.1.138
兩台伺服器同步的使用者名稱為: bravedu 密碼: brave123
一、主要資料庫操作設定(A):
① 建立同步處理的使用者名 允許串連的 使用者IP地址 (非本機IP)
複製代碼 代碼如下:grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;
② 更改mysql設定檔 複製代碼 代碼如下:[mysqld]
server-id = 1
log-bin=/www/mysql/binlog/binlog (路徑要根據自己的安裝設定)
binlog-do-db = dbname (要同步的資料庫名)
binlog-ignore-db=mysql
重啟mysql伺服器
③ 查看主要資料庫同步狀態
複製代碼 代碼如下:mysql>flush tables with read lock;
mysql>show master status\G
*************************** 1. row ***************************
File: mysql-bin.000001 (這裡注意 設定從伺服器的時候要用)
Position: 106 (這裡注意設定從伺服器的時候要用)
Binlog_Do_DB: dbname
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
mysql>unlock tables;
*******主伺服器到目前位置設定完畢***********
二、從資料庫操作設定(B):
① 建立同步處理的使用者名
複製代碼 代碼如下:grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;
② 更改mysql設定檔 複製代碼 代碼如下:[mysqld]
server-id = 2
log-bin=/www/mysql/binlog/binlog (路徑要根據自己的安裝設定)
binlog-do-db = dbname (要同步的資料庫名)
binlog-ignore-db= mysql,information_schema
重啟mysql伺服器
③ 指定主從資料庫伺服器同步指令
註: IP為主伺服器的IP,使用者名稱,密碼,log_file,log_post 都和主伺服器統一
可能這塊操作 需要先 解除鎖表、停止資料庫狀態、在運行後 在啟動狀態
複製代碼 代碼如下:mysql > stop slave;
mysql > change master to master_host='192.168.1.134', master_user='bravedu', master_password='brave123', master_log_file='mysql-bin.000001', master_log_pos=106;
mysql > start slave;
mysql > unlock tables;
④ 查看主要資料庫同步狀態 會出來很多資訊 但是主要看這兩個狀態就行了 如果都是 yes 就可以了複製代碼 代碼如下:mysql>show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
至此,主從資料庫同步配置完成。