MySQL 主從熱備份(讀寫分離)


MySQL的主從備份,聽個名詞很高大上,其實都是MySQL原本就實現的了,你只需要簡單配置一下就可以實現。

第一步:保持主從兩個數據庫是同步的,最好事先手動同步一下;

第二步:停止兩個數據庫,分別更改配置文件;

  下面我使用如下兩個地址來說明配置過程。

  • 主數據庫:192.168.0.244
  • 從數據庫:192.168.0.8

主服務器數據庫,增加如下配置:

server-id = 244    #這個唯一就OK,一般取IP地址后面的幾位
log-bin = E:\mysql\data\mysql-bin  #日志所在目錄
binlog-do-db = test    #這個是要同步的數據庫

從服務器數據庫,增加如下配置:

server-id = 8    #這個唯一就OK,一般取IP地址后面的幾位
replicate-do-db = test  #這個是要同步的數據庫

第三步,分別重啟兩個服務器的MySQL服務;

  • net stop mysql;
  • net start mysql;

兩個服務器的MySQL服務都要啟動起來;

第四步,主服務器授權Slave權限賬號

GRANT REPLICATION SLAVE ON *.* to 'bu'@'%' identified by '123456';

第五步,登錄主服務器,查詢master狀態;

show master status;

注意結果,結果里面的東西,在下一步會用到。

第六步:登錄從服務器,配置從服務器的Slave

change master to master_host='192.168.0.244',master_user='bu',master_password='123456',
master_log_file='mysql-bin.000004',master_log_pos=516;

master_log_pos是上面查詢出來的Position 516。

第七步、啟動從服務器的Slave

start slave;

第八步、驗證從服務器的Slave服務狀態

show slave status\G

以下兩個狀態必須為Yes。

Slave_IO_Running: Yes    //此狀態必須YES
Slave_SQL_Running: Yes     //此狀態必須YES

如果有一項為No都不會同步成功。

我碰到過Slave_IO_Running為Connecting的。那可能是上面的連接change master to master_host...寫錯了。

第九步、隨意修改下主數據庫的數據,從服務器數據庫立即會更新

參考網址:http://www.cnblogs.com/kissdodog/p/5422195.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM