1. 程式人生 > >linux虛擬機器mysql5.6.4-m7搭建MS主從複製。

linux虛擬機器mysql5.6.4-m7搭建MS主從複製。

簡介

作為高可用的基礎部分,搭建MS主從複製對於新手來說並不是那麼容易,尤其是在沒有硬體條件之下,下面就教大家怎麼通過linux虛擬機器來搭建環境,以及,配置mysql的MS主從複製。以前總是看別人的部落格,自己也該寫一寫了,

白天工作太忙,只有晚上在寫了。

具體步驟

步驟一:首先你得搭建好兩臺版本相同的資料庫伺服器,據說slave比maste版本高一點也可以完成,我還是建議用相同版本的,並且用克隆操作的話,搭建相同版本的資料庫伺服器簡直是不能再簡單了。如果你不知道怎麼搭建這樣的虛擬環境,我在另外一篇部落格中在細細道來,先看下一步,我筆記本的配置是win764,記憶體4G。linux虛擬機器是redhat,可能企業環境中用得centos比較多,但是沒什麼太大的區別了,看個人情況。如果你記憶體不夠的話,就分配少點,500M足夠在這裡使用了。。

步驟二:保證兩臺linux虛擬機器可以相互ping通,當初這一步花費了我很長的時間,如果你對linux作業系統不是很熟悉,對計算機網路也不熟悉,還是找一個人幫你弄一下,其實就是設定網絡卡的問題,還有可能跟防火牆有關係,ip地址選擇dhcp自動分配,就不要自己去配置了。轉下一

步驟三:克隆過來的虛擬機器以及之前在虛擬機器上安裝的l伺服器,兩者是完全相同的,配置檔案也是相同的,還有auto.cnf檔案,裡面的數值相當於一個唯一校驗碼,如下圖所示,紅圈標出的地方:

開啟這個檔案,修改一下里面的值,隨便動一個數字就ok,

然後再去my.cnf檔案中配置主從吧,轉下一步驟

步驟四:配置my.cnf檔案,對於實現基本的功能,配置很簡單,對於master來說,把二進位制檔案點出來,就可以,對於slave,修改sever-id=2,或者任意一個跟master不同的數值,你可以以你的ip地址的後兩位為區分。配置好my.cnf檔案之後,記得重啟服務,重啟服務命令是,service MySQLd restart,然後在master中建立一個具有replication的賬戶,以及密碼。然後在登入slave,用root賬戶登入即可。

步驟五:用root賬戶登入master,用show master status 

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000017 |      114 | test         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)


mysql> 檢視相關資訊,在slave上,change mater

change master to master_host='192.168.231.138',
master_user='mmm',
master_password='568888',
master_log_file='mysql-bin.000009',
master_log_pos=483486

start slave,show slave status \G,檢視相關資訊是否正確。基本到此大功告成。明天再詳細的寫一下吧

這是對slave的設定,意在說明指向的master主伺服器是誰,用得什麼賬號,密碼多少,從哪裡開始複製。

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.231.138
                  Master_User: mmm
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000017
          Read_Master_Log_Pos: 114
               Relay_Log_File: sunchuan-relay-bin.000026
                Relay_Log_Pos: 267
        Relay_Master_Log_File: mysql-bin.000017
             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: 114
              Relay_Log_Space: 586
              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: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 08d1c1fa-ad5f-11e4-b2b7-000c29e08375
             Master_Info_File: /tmp/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
1 row in set (0.00 sec)


mysql> 

如果以上所有的過程你都沒有出錯,那麼,一個簡單的 主從複製,你就已經配置完成了,他可以實現簡單的主從複製功能,你可以用它來模擬練習一些東西了。但是在生產環境中,還需要配置更詳細的引數,在此就先不做說明了。