1. 程式人生 > >mysql 5.7 主從複製

mysql 5.7 主從複製

mysql主從複製 

首先這個密碼就搞得我很頭大 

yum安裝的rpm包 系統自動完成初始化 預設密碼強度是strong

這個設定是真的坑 規則很嚴格 反正我試了各種辦法都不能滿足密碼要求 

只能先用服務啟動時日誌裡給的初始密碼先登進去 然後修改規則 再執行mysql_secury_installtion

更改規則如下圖 主要就是 set global validate_password_policy=0;這一句

這樣把密碼強度設定成LOW 那麼只要滿足8位以上即可

永久設定 vim /etc/my.conf

修改這個 validate_password=off

這裡少截了一張圖 要實現主從複製 必須要開啟二進位制日誌 

主從的實質就是slave 把master 的日誌中所記錄的改動在自己這再執行一遍 主備通訊是通過讀取二進位制日誌實現的 所以必須開啟二進位制日誌

操作:

vim /etc/my.conf

加入下面兩行

log_bin=mysql_bin

server-id=X(X為任意int型)

server-id是你這臺主機上mysql的唯一標識 必須和其他的不同 

然後重啟服務 重新載入配置

/etc/init.d/mysqld restart

下面是master的配置 使用grant 給slave建立可以遠端登入的賬戶 

然後使用 show master status 檢視狀態

其中file列和position列的值 在配置slave時是必不可少的 需要記下

然後在slav端 登入資料庫 然後做一下操作

change master to master_host='你master所在的主機的IP',master_user='你剛剛在master端給slave建立的賬戶名',master_password='master端給slave建立的賬戶密碼',

master_log_file='在master端 檢視到的 file列的值',master_log_pos=在master端檢視的position列的值(注意這裡不要引號);start slave;(啟動slave)

然後使用 show slave status\G 檢視slave狀態

注意!

主要檢查兩個引數

Slave_IO_Running=yes

Slave_SQL_Running=yes

這兩個都是yes的話 就成功了  有一個是no 絕逼失敗

下面就是測試了 在master上建立庫 建立表 然後插入一行記錄 

然後在slave上 直接查詢 看到master上的資料同步過來了 就成功了