MYSQL 資料庫同步

來源:互聯網
上載者:User

  最近要做資料庫同步,如果網上找了例子,成功,記錄下來,下回再看.

  這個是網上找的一編文章.

  以下配置在本機上已經成功:

  實現功能:A為主伺服器,B為從伺服器,初始狀態時,A和B中的資料資訊相同,當A中的資料發生變化時,B也跟著發生相應的變化,使得A和B的資料資訊同步,達到備份的目的。

  環境:

  A、B的MySQL資料庫版本同為4.1.20

  A:

  作業系統:Windows 2003 server

  IP地址:192.168.100.1

  B:

  作業系統:Windows 2003 server

  的IP地址:192.168.100.2

  配置過程:

  1、在A的資料庫中建立一個備份帳戶,命令如下:

  GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*

  TO backup@'192.168.100.2'

  IDENTIFIED BY ‘1234’;

  建立一個帳戶backup,並且只能允許從192.168.100.2這個地址上來登陸,密碼是1234。

  2、因為mysql版本新密碼演算法不同,所以進入mysql下,輸入:set password for 'backup'@'192.168.100.2'=old_password('1234');

  3、關停A伺服器,將A中的資料拷貝到B伺服器中,使得A和B中的資料同步,並且確保在全部設定作業結束前,禁止在A和B伺服器中進行寫操作,使得兩資料庫中的資料一定要相同!

  4、對A伺服器的配置進行修改,開啟mysql/my.ini檔案,在[mysqld]下面添加如下內容:

  server-id=1

  log-bin=c:log-bin.log

  server-id:為主伺服器A的ID值

  log-bin:二進位變更日值

  5、重啟A伺服器,從現在起,它將把客戶堆有關資料庫的修改記載到二進位變更日誌裡去。

  6、關停B伺服器,對B伺服器錦熙配置,以便讓它知道自己的鏡像ID、到哪裡去找主伺服器以及如何去串連伺服器。最簡單的情況是主、從伺服器分別運行在不同的主機上並都使用著預設的TCP/IP連接埠,只要在從伺服器啟動時去讀取的mysql/my.ini檔案裡添加以下幾行指令就行了。

  [mysqld]

  server-id=2

  master-host=192.168.100.1

  master-user=backup

  master-password=1234

  //以下內容為可選

  replicate-do-db=backup

  server-id:從伺服器B的ID值。注意不能和主伺服器的ID值相同。

  master-host:主伺服器的IP地址。

  master-user:從伺服器串連主伺服器的帳號。

  master-password:從伺服器串連主伺服器的帳號密碼。

  replicate-do-db:告訴主伺服器只對指定的資料庫進行同步鏡像。

  7、重啟從伺服器B。至此所有設定全部完成。更新A中的資料,B中也會立刻進行同步更新。如果從伺服器沒有進行同步更新,你可以通過查看從伺服器中的mysql_error.log記錄檔進行排錯。

  8、由於設定了slave的配置資訊,mysql在資料庫data目錄下產生master.info,所以如有要修改相關slave的配置要先刪除該檔案,否則修改的配置不能生效。

  如果要兩台同時同步的話,只要server-id不同就行了.如果同步失敗,可以用下面的語句來查看.

  1.show master statusG; 查看主機情況.

  2.show slave statusG; 從機情況.

  如果兩台的ID和檔案不同,可以用下面的語句更正.

  CHANGE MASTER TO master_def [, master_def] ...

  master_def:

  MASTER_HOST = 'host_name'

  | MASTER_USER = 'user_name'

  | MASTER_PASSWORD = 'password'

  | MASTER_PORT = port_num

  | MASTER_CONNECT_RETRY = count

  | MASTER_LOG_FILE = 'master_log_name'

  | MASTER_LOG_POS = master_log_pos

  | RELAY_LOG_FILE = 'relay_log_name'

  | RELAY_LOG_POS = relay_log_pos

  來源:http://blog.csdn.net/liq330

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.