此博文用於記錄,不建議各位大佬進行參考,在此提示
此博文用於記錄,不建議各位大佬進行參考,在此提示
此博文用於記錄,不建議各位大佬進行參考,在此提示mysql
一、主服務器配置sql
#開啓二進制日誌 [root@mysql ~]# vim /etc/my.cnf log_bin=mysql-bin server-id=1 #賦予權限使之能夠主從複製 mysql> grant replication slave on *.* to bak@'192.168.171.%' identified by '123'; mysql> show master status; 查看主服務器的結束位,一會須要在從服務器上指定從哪裏開始複製主 +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 448 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
二、從服務器配置vim
#開啓中繼日誌 [root@mysql ~]# vim /etc/my.cnf relay_log=relay-bin relay_log_index=slave-relay-bin server-id=2 mysql> change master to master_host='192.168.171.135',master_user='bak',master_password='123',master_log_file='mysql-bin.000001',master_log_pos=448; #各選項含義: master_host:主服務器IP master_user:鏈接主服務器所使用的用戶 master_password:鏈接主服務器所使用的用戶的密碼 master_log_file:指定二進制日誌文件 master_log_pos:指定從哪開始複製 #啓動slave mysql> start slave; #檢驗是否配置成功 mysql> show slave status\G # 輸出結果以下圖
那麼,怎麼去解決呢,形成這種正在鏈接的狀況有不少,有多是防火牆策略設置報錯,也有多是配置報錯,檢查一番後發現是MySQL服務器的UUID相同報錯,這時纔想起來我從服務器是克隆主服務器的(流汗、、、)服務器
#主服務器上查看UUID [root@mysql ~]# cat /usr/local/mysql/data/auto.cnf [auto] server-uuid=b106295b-25e7-11ea-b876-000c29d8c6ad #從服務器上查看UUID [root@mysql data]# pwd /usr/local/mysql/data [root@mysql data]# cat auto.cnf # 查完以後發現,沃德天,好神奇 [auto] server-uuid=b106295b-25e7-11ea-b876-000c29d8c6ad #那麼怎麼切換UUID呢,能夠直接vim進入修改,也能夠簡單粗暴一點直接刪除,再次重啓MySQL會從新生成一個 [root@mysql data]# rm -rf auto.cnf # 刪除 [root@mysql data]# systemctl restart mysqld [root@mysql data]# cat auto.cnf # 這就對了,兩個UUID不相同 [auto] server-uuid=b56c5475-b0b0-11ea-81e0-000c2987dda6
再次查看主從複製狀態,以下圖
接下來就能夠插入一些數據進行驗證了
作完以後,當master插入數據後,slave會直接複製數據,而slave寫入數據,master卻無任何反應ide