1. 程式人生 > >5.7mysql的資料庫主從複製部署

5.7mysql的資料庫主從複製部署

在這裡插入圖片描述
資料庫B ip192.168.3.7為主資料庫
資料庫A ip 192.168.3.8為從資料庫
A與B之間開啟 slave 實現同步資料庫,B的操作在A中都會自動操作一遍
msyql5.7的安裝後
資料庫的密碼問題
A B中my.cnf 編輯 在最後加上
skip-grant-tables 儲存退出重啟資料庫服務
然後 >mysql -u root 登入進入之後 mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length(密碼長度)引數預設為8,我們修改為1
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
完成之後再次執行修改密碼語句即可成功
mysql> alter user ‘root’@‘localhost’ identified by ‘123456’;
Query OK, 0 rows affected (0.00 sec)
然後退出 再次編輯my.cnf 刪除skip-grant-tables一條 用-p代密碼就可以登入資料庫
資料庫的ID和日誌格式的改變
B中my.cnf中新增
log-bin=mysql-bin
server-id=7
A中my.cnf新增
server-id=8
儲存退出重啟mysqld服務
B中開放許可權給A
grant replication slave on .

to ‘rs’@‘192.168.3.%’ identified by ‘Rs123456.’; #密碼設了幾遍,複雜告終
show binlog events in ‘mysql-bin.000005’;
在這裡插入圖片描述
關鍵是獲取 pos 1054 和日誌名稱 mysql-bin.000005
A中測試連線 #mysql -urs -p -h 192.168.3.7 連線成功後退出
登入自身資料庫新增主從資料
change master to
change master to master_host=‘192.168.3.7’,master_user=‘rs’,master_password=‘Rs123456.’,master_log_file=‘mysql-bin.000005’,master_log_pos=1054;
start slave # 開啟slave 模式
show slave status\G 檢視slave狀態
在這裡插入圖片描述

在這裡插入圖片描述
show databases; 看出B中建立的庫會自動生成在A中
另外
master開啟二進位制日誌後預設記錄所有庫所有表的操作,可以通過配置來指定只記錄指定的資料庫甚至指定的表的操作,具體在mysql配置檔案my.cnf中的[mysqld]可新增修改如下選項:
複製程式碼
不同步哪些資料庫
binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = information_schema

只同步哪些資料庫,除此之外,其他不同步
binlog-do-db = game