MySQL數據同步-復制

jopen 12年前發布 | 20K 次閱讀 MySQL 數據庫服務器

一,復制的基本步驟

建立一個簡單的復制只需要三個步驟

  1. 配置一個服務器作為主庫,就是Master庫。
  2. 配置另一個服務器作為從庫,就是slave庫。
  3. 將從庫連接到主庫。
  4. </ol>

    二,配置主庫


    將服務器配置為主庫,必要條件是該服務器有一個活動的二進制日志和唯一的服務器ID,這個二進制日志上保存了所有在主庫上的數據改變,而服務器ID用于區分標識服務器。要創建二進制日志和服務器ID,需要先將服務器停止,然后配置my.cnf配置文件。

    在主庫的操作主要包括兩上部分,配置二進制日志文件以及添加用于復制的賬戶;


    2.1  配置二進制日志文件


    我在我主庫的配置文件里添加下面三行:

    log-bin         =master-bin
    log-bin-index           =master-bin.index
    server-id       =1
    在我添加這三行之后,重新啟動服務,發現在數據目錄下多出了兩個文件: master-bin.000001,master-bin.index。這兩個文件在主從同步中,起到很大的作用。


    2.2 添加復制賬戶


    創建賬戶 : create user repl_user;

    給賬戶復制權限:grant replication slave on *.* to repl_user identified by 'pwd';


    三,配置從庫


    配置完主庫之后,還需要配置從庫。和主庫一樣,需要為每個從庫分配一個唯一的服務器ID,并添加中繼日志文件和中繼日志索引文件。如果不添加文件名,會根據hostname有一個默認的文件。


    我在從庫所在的配置文件里添加:

    server-id       =2
    relay-log-index =slave-relay-bin.index
    relay-log       =slave-relay-bin


    四,連接主庫和從庫


    這一步的主要目的是將從庫指向主庫,讓從庫知道數據應該從哪個地方復制過來。我們需要了解關于主庫的幾個基本的信息:

    1. 主機名
    2. 端口號
    3. 主庫上擁有REPLICATION SLAVE權限的用戶賬戶。
    4. 該用戶的受權密碼。
    5. </ol>

      使用 CHANGE MASTER TO 命令將從庫指向主庫,然后使用 START SLAVE 命令啟動復制。
      </div>


      CHANGE MASTER TO MASTER_HOST='192.168.1.105', MASTER_PORT=3306 ,MASTER_USER='repl_user' ,MASTER_PASSWORD='pwd';


      這個命令執行完之后,就可以啟動從庫了。

      在啟動完從庫之后,用 SHOW SLAVE STATUS命令查看從庫是否正常工作。主要是IO和MYSQL線程狀態是否正常。


      在這以后,在主庫上的任何改動,從庫也會隨之而改動。



      按照上面的操作,經測試,數據庫可以正常復制

      轉自:http://blog.csdn.net/zmxiangde_88/article/details/8007873

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!