mysql主從配置

主從搭建步驟如下:

設定主服務器爲:192.168.200.7從服務器:192.168.202.212

1)確定要分配的ID值,必須是彼此不同的64位整數。

2)從服務器上必須要在主服務器上有一個具備足夠權限的帳戶,從服務器將使用這個帳戶去連接主服務器並請求服務器把二進制變更日誌發送給它。創建帳戶:

   mysql>GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'slave_user'@'192.168.202.212'   IDENTIFIED BY 'slave_pass';

3)把主服務器上的數據拷貝到從服務器上以完成主、從服務器之間最初的同步:一種辦法是先在主服務器主機上製作一份備份,再把這個備份加載到從服務器上去。另一種辦法是通過網絡把各有關數據庫從主服務器全部拷貝到從服務器上,可以用Load data from master語句來建從服務器。在這裏用第一種,無論用哪一種辦法,從開始製作備份到主服務器重新配置好二進制日誌功能,都必須保證在主服務器上沒有發生任何修改操作。

4)關停主服務器(如果正運行)

5)對主服務器的配置進行修改----把它的鏡像ID告訴它進激活二進制日誌功能

    server-id               = 1

     log_bin                 = /var/log/mysql/mysql-bin.log

6)重新啓動主服務器;如果在啓動之前有二進制變更日誌,開啓後用reset master語句清除。

7)關停從服務器(如果在運行)

8)對從服務器進行配置,最好使用默認端口號:

[mysqld]

server-id               = 2                                   #slave_server_id

master-host             = 192.168.200.7            #master-host

master-user            = slave_user

master-password    = slave_pass

log_bin                   = /var/log/mysql/mysql-bin.log

注:slave_user和slave_pass值是在主服務器爲從服務器創建的那個帳戶的用戶名和密碼,但是這樣是不安全的,因爲配置文件其它用戶也可以讀取,所以應該把這幾行添加到一個只有mysql管理員登錄帳戶才能訪問的選項文件裏:

[mysqld]

!include                =  /var/lib/mysql/myuser.cnf

vim  /var/lib/mysql/myuser.cnf

master-user            = slave_user

master-password    = slave_pass

9)配置完成後重新啓動服務器。

然後登錄mysql> start slave;如果沒有錯誤,則成功。

10)檢查主從同步,如果您看到Slave_IO_Running和Slave_SQL_Running均爲Yes,則主從複製連接正常。

mysql>show slave status\G;

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.200.7
                  Master_User: slave_user
                  Master_Port: 3306
                  Connect_Retry: 60
                  Master_Log_File: mysql-bin.000003
                   Read_Master_Log_Pos: 106
                   Relay_Log_File: mysqld-relay-bin.000004
                  Relay_Log_Pos: 251
                   Relay_Master_Log_File: mysql-bin.000003


                  Slave_IO_Running: Yes
                  Slave_SQL_Running: Yes


                  Replicate_Do_DB: 
                  Replicate_Ignore_DB:
                  Replicate_Do_Table:
                  Replicate_Ignore_Table: 
                  Replicate_Wild_Do_Table:
                  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
                 Exec_Master_Log_Pos: 106
                 Relay_Log_Space: 552
                Until_Condition: None
                Until_Log_File:
                Until_Log_Pos: 0
                 Master_SSL_Allowed: No
                Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
             Seconds_Behind_Master: 0
             Master_SSL_Verify_Server_Cert: No
                 Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

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