一、 概念:
① 數據庫同步 (主從同步 --- 主數據庫寫的同時 往從服務器寫數據)
② 數據庫同步 (主主同步 --- 兩台數據庫服務器互相寫數據)
二、 舉例
數據庫服務器(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
至此,主從數據庫同步配置完成。