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上的資料同步過來了 就成功了