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