程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> mysql實現主從復制

mysql實現主從復制

編輯:MYSQL入門知識

 今天說一下MySQL的主從復制如何做到!

准備工作:

1.兩個虛擬機:我這裡用的是CentOS5.5,IP地址分別是192.168.1.101 和192.168.1.105;

       101做主服務器,105做從服務器(都已經安裝相同版本的Mysql);

2.本機環境:Apache+PHP+MySQL

 

好了,現在開始吧,來看看這聽起來高大上的主從復制是怎麼回事。

 

原理:mysql要做到主從復制,其實依靠的是二進制日志,即:假設主服務器叫A,從服務器叫B;主從復制就是

     B跟著A學,A做什麼,B就做什麼。那麼B怎麼同步A的動作呢?現在A有一個日志功能,把自己所做的增刪改查的動作

     全都記錄在日志中,B只需要拿到這份日志,照著日志上面的動作施加到自己身上就可以了。這樣就實現了主從復制。

 

擴展:MYSQL還有一種日志叫做:慢日志

     可以設置一個時間,那麼所有執行時間超過這個時間的SQL都會被記錄下來。這樣就可以通過慢日志快速的找到網站中SQL的瓶頸來進行優化。

         大家有時間可以研究一下,這裡不多做介紹。

 

實現步驟:

1.首先修改mysql的配置文件,使其支持二進制日志功能。

打開主服務器的mysql配置文件:my.conf

代碼:# vi /etc/my.cnf

加入如下三行代碼:

參數解釋:log-bin=mysql-bin  //將mysql二進制日志取名為mysql-bin

       binlog_format=mixed //二進制日志的格式,有三種:statement/row/mixed,具體分別不多做解釋,這裡使用mixed

       server-id=101 //為服務器設置一個獨一無二的id便於區分,這裡使用ip地址的最後一位充當server-id

 

配置完成,:wq 保存,重啟mysql

重啟mysql命令:# service mysqld restart

同樣的,進入從服務器,配置從服務器的my.cnf,重復步驟1即可,

唯一的區別是,server-id要改成從服務器的ip尾位,即server-id=105;其他兩項是一樣的,保存,並重啟mySQL;

 

2.在主服務器上為從服務器分配一個賬號,就像一把鑰匙,從服務器拿著這個鑰匙,才能到主服務器上來共享主服務器的日志文件。

進入主服務器的mysql界面,

命令: # mysql -u root -p 111111     //我這裡mysql賬號是root,密碼是111111

在mysql操作界面下,輸入下面一行命令:

GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '111111'; 

 

3.查看主服務器BIN日志的信息(執行完之後記錄下這兩值,然後在配置完從服務器之前不要對主服務器進行任何操作,因為每次操作數據庫時這兩值會發生改變).

 

4.設置從服務器

進入從服務器mysql

命令: # mysql -u root -p111111

 

關閉slave(如果你以前配置過主從的話,一定要先關閉)

命令:stop slave;

 

開始配置:

輸入下面代碼即可:

參數解釋:MASTER_HOST  :  設置要連接的主服務器的ip地址

       MASTER_USER  :  設置要連接的主服務器的用戶名

       MASTER_PASSWORD  :  設置要連接的主服務器的密碼

       MASTER_LOG_FILE  :  設置要連接的主服務器的bin日志的日志名稱,即第3步得到的信息

       MASTER_LOG_POS  :  設置要連接的主服務器的bin日志的記錄位置,即第3步得到的信息,(這裡注意,最後一項不需要加引號。否則配置失敗)

 

先在從服務器配置完成,啟動從服務器:

命令: start slave;

 

5.查看是否配置成功:

命令: show slave status;

 

上面兩項均為yes,說明配置成功,否則,請重復前面的步驟。

 

ok,到這裡MySQL的主從復制就配置完了,其實明白原理的話還是很簡單的,

這裡就不給大家測試了,大家配置完可以自己測試一下,有什麼問題的話,

歡迎到評論區拍磚哈!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved