mysql主從雙機複製備份
由於從機不知道為什麼配置了環境變數也不能在從機的mysql資料夾下敲mysql命令,所以以下操作都在Navicat下完成,如果使用mysql命令也是可以的
1.檢查主從伺服器之間是否互通,如果單一的主從複製不是主主複製,只需要主通從即可,(也可以用Navicat進行資料庫連線進行測試,從機能連上主機就可以主從複製)
2.在主庫新增一個許可權使用者grant replication slave on *.* to 'replicate'@'%' identified by '123456';
%指的是所有ip都有可以,安全起見一般要指定某個伺服器ip(也可以用Navicat建立使用者),建立使用者需要重啟mysql才有效
3.修改mysql配置檔案,主機和從機都要修改
主機上:
server-id=101
log-bin=C:\Program Files\MySQL\MySQL Server 5.7\mysql-bin
binlog-do-db=zlcloud2
binlog-do-db=zlcloud1521
從機上
server-id=126
replicate-do-db=zlcloud2
replicate-do-db=zlcloud1521
只是一些簡單的配置,如果想要跟多可以百度
重啟mysql
4.配置完成後在主庫上執行語句SHOW MASTER STATUS
檢視file和POSITION欄位值,這個要用到
5.以上都已完成,我犯了一個比較二的錯誤,我用建立的使用者賬號在從機上去連線主庫後,直接在這個連線下面執行
stop SLAVE
change master to
master_host='%',
master_user='replicate',
master_password='123456',
master_log_file='mysql-bin.000001',//這個是上面所提到的欄位值
master_log_pos=107;//這個是上面所提到的欄位值
START SLAVE
大家不要犯二,應該在從機的localhost本地資料庫上執行這段話
6.執行後在檢視從機狀態SHOW SLAVE STATUS ,看見slave_io_running和slave_sql_running都是yes就好了