mysql數據庫的主從複製

1.mysql主從複製聽起來很複雜,其實只需要懂得怎麼配置mysql的配置文件就可以了。

2.兩個服務器ip分別爲192.168.1.101,192.168.1.102,101的作爲主服務器,102的爲從服務器且都安裝了相同版本的mysql數據庫

3.原理:mysql主從複製是依靠二進制日誌。主服務器A(101),從服務器B(102),A做什麼B就跟着做什麼,即A把所有的增刪改查操作都寫進日誌文件裏,B拿到這個日誌,然後按照日誌裏的操作進行運行,這樣B就和A同步了。

4.實現步驟:

    4.1.修改mysql配置文件my.cnf

    vim  /etc/my.cnf

   加入三行代碼

  log-bin=mysql-bin//將二進制文件取名爲mysql-bin

 binlog_format=mixed//二進制文件的格式

server-id=101//爲服務器設置一個唯一id

保存:wq

重啓mysql

進入從服務器的mysql配置文件,做上面相同的操作,把設爲server_id=102

 4.2.在主服務器上分配一個賬號供從服務器連接

    進入主服務器mysql;mysql -u root -p 123546

  然後輸入GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '1234';

       replication slave//主從複製的權限

      *.*//可以操作哪個數據庫,這裏是所有數據庫

      slave//用戶名

      %//可以在所有電腦端使用這個賬號

      123456//密碼

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



 4.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;


4.5.查看是否配置成功:

命令: show slave status;


上面兩項均爲yes,說明配置成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章