windows下的mysql主從同步

來源:互聯網
上載者:User

標籤:使用   另一個   變化   認同   集中   版本   複製   window   star   

mysql主從同步:


1.為什麼要主從同步?

  在Web應用系統中,資料庫效能是導致系統效能瓶頸最主要的原因之一。尤其是在大規模系統中,資料庫叢集已經成為必備的配置之一。叢集的好處主要有:查詢負載、資料庫複寫備份等。其中Master負責寫操作的負載,也就是說一切寫的操作都在Master上進行,而讀的操作則分攤到Slave上進行。這樣一來的可以大大提高讀取的效率。寫操作涉及到鎖的問題,不管是行鎖還是表鎖還是塊鎖,都是比較降低系統執行效率的事情。我們這樣的分離是把寫操作集中在一個節點上,而讀操作其其他的N個節點上進行,從另一個方面有效提高了讀的效率,保證了系統的高可用性。


2.mysql主從同步

   我的要同步的兩台mysql資料庫版本都是mysql5.6,兩台電腦都在同一個網段之中。

   ①修改主要資料庫my.ini配置:

   Server-id = 1  這是資料庫ID,此ID是唯一的,ID值不能重複,否則會同步出錯;

   log-bin = mysql-bin 二進位記錄檔,此項為必填項,否則不能同步資料;如果不取名字的話,那麼就會以    電腦的名字加編號來命名二進位檔案;

   binlog-do-db = testcreate  需要同步的資料庫,如果還需要同步另外的資料庫,那麼繼續逐條添加,如果    不寫,那麼預設同步所有的資料庫;

   binlog-ignore-db = mysql 不需要同步的資料庫;

   修改完成之後重啟mysql服務。

   注意點:在linux下,只需要修改/etc/my.cnf即可,但是在windows下,我改了安裝目錄下的my.ini,發現配置    並不生效,後來我看到了服務中的mysql服務的屬性,發現了這麼一句話:"C:\Program Files\MySQL\MySQL      Server 5.6\bin\mysqld.exe" --defaults- file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"        MySQL56,原來mysql服務讀取的設定檔在這裡,後來修改了這個路徑下的my.ini,重啟服務,配置就生效      了。


   ② 添加主要資料庫用於同步的帳號:

   給主要資料庫授權一個可以進行複製的使用者,執行如下命令:

   grant replication slave on *.* to ‘slave‘@‘%‘ identified by ‘123‘;

      

   ③顯示主要資料庫的同步資訊:

          

        可以看出已經產生了二進位的記錄檔資訊,mysql的同步就是通過這個二進位記錄檔進行同步,主要資料庫把    對資料庫的操作的指令都記錄到該記錄檔下,從資料庫通過讀取該檔案,來對從資料庫中的資料進行修改,    從而達到主從同步的效果。


   ④配置從資料庫的my.ini

   從資料庫的話只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

    

   ⑤設定從資料庫連結到主要資料庫

 

   在mysql下執行slave stop命令,停止slave服務;

      mysql> change master to

       -> master_host=‘192.168.1.189‘,

       -> master_user=‘slave‘,

       -> master_password=‘123‘,

       -> master_log_file=‘mysql-bin000014.000001‘,

       -> master_log_pos=107;

    注意:這裡的master_log_file,master_log_pos的值要和master的值一致。否則會無法同步。

    執行slave start命令,啟動服務。

    注意:在這裡可能會無法連結到主要資料庫,需要看主要資料庫中my.ini中bind 127.0.0.1是否沒有被注釋,如果     沒有,那麼只能在本機登入,而不能使用遠程登入方式。


   ⑥驗證是否同步:

   執行show slave status\G;

   得到如下結果則說明同步成功。

       

      也可以在主要資料庫被同步的表中做crud操作,看從資料庫中的資料有無變化。

windows下的mysql主從同步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.