首頁>Club>
5
回覆列表
  • 1 # 劉筆尖兒

    配置思路

    1. 修改master和slave的配置檔案,使用二進位制日誌,指定serverid

    目的是讓各自都有了自己的唯一標示,並以二進位制檔案格式進行交流

    2. master中建立授權使用者,檢視二進位制日誌檔名,及最新位置

    讓slave知道用哪個使用者資訊訪問master,知道讀取哪個日誌檔案,及從哪兒開始讀

    3. slave中使用被授權使用者資訊及日誌檔案資訊,進行指向master

    這時已經建立了和master的聯絡,明確了從哪兒讀取日誌檔案

    3. 執行啟動slave的命令,開始主從複製,並檢視複製狀態資訊

    準備條件

    停止對master資料庫的操作

    把master中的資料庫全部匯入到slave,使兩邊資料庫完全一致

    配置步驟

    1. 修改配置檔案 my.cnf

    master:

    [mysqld]

    log-bin=mysql-bin //[必須]啟用二進位制日誌

    server-id=222 //[必須]伺服器唯一ID,預設是1,一般取IP最後一段

    slave:

    [mysqld]

    log-bin=mysql-bin

    server-id=226

    2. 重新啟動兩臺伺服器的mysql

    3. master建立授權使用者

    登陸主伺服器mysql命令列,建立一個用於從伺服器複製的使用者

    mysql>GRANT REPLICATION SLAVE ON *.* to "使用者名稱"@"%" identified by "密碼";

    "*.*"表示對所有庫的所有操作,“%”表示所有客戶端都可能連,也可用具體客戶端IP代替,如192.168.145.226,加強安全

    4. 檢視master狀態

    登陸主伺服器mysql命令列

    mysql>show master status;

    +-------------------------+----------+

    | File | Position |

    +-------------------------+----------+

    | mysql-bin.000002 | 1308 |

    +-------------------------+----------+

    mysql-bin.000004 是用於主從複製的檔名

    1308 是日誌檔案內的最新位置

    5. slave指向master

    登陸從伺服器mysql命令列,使用之前建立的使用者和master的日誌檔案及其位置

    mysql>change master to master_host="master ip",master_user="使用者名稱",master_password="密碼",

    master_log_file="mysql-bin.000002",master_log_pos=1308; //注意不要斷開,“1308”無單引號。

    6. 啟動slave

    mysql>start slave;

    7. 檢視slave狀態

    mysql> show slave status\G;

    結果中有兩個重要資料項:

    常見的問題是SQL執行緒沒有正常工作 Slave_SQL_Running: No

    通常是兩邊的資料庫不是完全對應的,需要確保master上的庫及到目前為止的最新記錄都複製到slave上了

    8. 測試

    1) Slave_IO_Running: Yes

    IO執行緒狀態,必須YES

    2) Slave_SQL_Running: Yes

    SQL執行緒狀態,必須YES

  • 中秋節和大豐收的關聯?
  • 商業模式創新有幾個明顯的特點?