準備倆臺虛擬機并啟動
倆臺虛擬機都開啟mysql后
查看二進制日志是否開啟
先登錄mysql
mysql -u root -r
?輸入sql命令
show variables like '%log_bin%';
?如果log_bin 的value為OFF則是沒有開啟,跟著下面步驟開啟二進制日志
退出mysql
exit
vim /etc/my.cnf
在最底下添加
log_bin=mysql_bin
server-id=1
效果如圖
重啟mysql
systemctl restart mysqld
登錄?
mysql -u root -p
查看是否開啟
show variables like '%log_bin%';
隨后配置第二臺虛擬機也就是從庫
和以上一樣的配置,不同的是需要添加的server-id=2
來到主庫的虛擬機進入mysql輸入
show master status;
記住這查到的mysql_bin.000001和后面的154然后切換到從庫的虛擬機輸入sql命令
change master to master_host='xxx.xxx.xxx.xxx',master_user='xxx',master_password='xxx',master_log_file='xxx',master_log_pos=xxx;
你需要替換此命令中的xxx
修改完后輸入啟動
start slave;
查看同步狀態
show slave status\G
如何判斷錯誤
第一步正確的做法第二步
第三步
如果這里顯示uuid錯誤
進入到
cd /var/lib/mysql
vi auto.cnf
更改uuid(任意)
隨后進入到mysql重新配置同上需要自行配置
change master to master_host='192.168.25.100',master_user='root',master_password='1234',master_log_file='mysql_bin.000001',master_log_pos=154;
測試
在主庫中指向任意sql命令,從庫中會跟著執行同樣的sql命令
如在主庫中輸入sql命令
CREATE DATABASE db1;
然后去從庫輸入sql命令查看
show databases;