《Mysql實例mysql 5.6.14主從復制(也稱mysql AB復制)環(huán)境配置方法》要點:
本文介紹了Mysql實例mysql 5.6.14主從復制(也稱mysql AB復制)環(huán)境配置方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL教程一、mysql主(稱master)從(稱slave)復制的原理:
MYSQL教程????? (1).master將數(shù)據(jù)改變記錄到二進制日志(binary log)中,也即是配置文件log-bin指定的文件(這些記錄叫做二進制日志事件,binary log events)
????? (2).slave將master的binary log events拷貝到它的中繼日志(relay log)
????? (3).slave重做中繼日志中的事件,將改變反映它本身的數(shù)據(jù)(數(shù)據(jù)重演)
MYSQL教程附簡要原理圖:
MYSQL教程
MYSQL教程二、mysql主從復制支持的類型:
MYSQL教程??? (1).基于語句的復制:在主服務(wù)器上執(zhí)行的SQL語句,在從服務(wù)器上執(zhí)行同樣的語句.MySQL默認采用基于語句的復制,效率比較高
MYSQL教程word-spacing: 0px">?? (2).基于行的復制:把改變的內(nèi)容直接復制過去,而不關(guān)心到底改變該內(nèi)容是由哪條語句引發(fā)的 . 從mysql5.0開始支持
word-spacing: 0px">?? (3).混合類型的復制: 默認采用基于語句的復制,一旦發(fā)現(xiàn)基于語句的無法精確的復制時,就會采用基于行的復制.
MYSQL教程三、主從配置需要注意的地方:
MYSQL教程?? (1).主DB server和從DB server數(shù)據(jù)庫的版本一致
?? (2).主DB server和從DB server數(shù)據(jù)庫數(shù)據(jù)一致[ 這里就會可以把主的備份在從上還原,也可以直接將主的數(shù)據(jù)目錄拷貝到從的相應(yīng)數(shù)據(jù)目錄]
?? (3).主DB server開啟二進制日志,主DB server和從DB server的server_id都必須唯一
MYSQL教程四、主從配置的簡要步驟:
MYSQL教程附簡要示意圖:
MYSQL教程
MYSQL教程1.主DB SERVER上的配置
MYSQL教程?? (1).安裝數(shù)據(jù)庫
?? (2).修改數(shù)據(jù)庫配置文件,指明server_id,開啟二進制日志(log-bin)
?? (3).啟動數(shù)據(jù)庫,查看當前是哪個日志,position號是多少
?? (4).登陸數(shù)據(jù)庫,授權(quán)用戶[ip地址為從機IP地址,如果是雙向主從,這里的還需要授權(quán)本機的IP地址(此時本身的IP地址就是從IP地址)]
?? (5).備份數(shù)據(jù)庫[記得加鎖和解鎖]
?? (6).傳送備份到從DB server上
?? (7).啟動數(shù)據(jù)庫
MYSQL教程以下步驟,為單向主從搭建成功,想搭建雙向主從需要的步驟:
MYSQL教程?? (1).登陸數(shù)據(jù)庫,指定主DB server的地址,用戶,暗碼等信息[此步僅雙向主從時,需要]
MYSQL教程?? (2).開啟同步,查看狀態(tài)
MYSQL教程2.從DB SERVER上的配置
MYSQL教程? (1).安裝數(shù)據(jù)庫
? (2).修改數(shù)據(jù)庫配置文件,指明server_id[如果是搭建雙向主從的話,也要開啟二進制日志(log-bin)]
? (3).啟動數(shù)據(jù)庫,還原備份
? (4).查看當前是哪個日志,position號是多少[單向主從此步不需要,雙向主從需要]
? (5).指定主DB server的地址,用戶,暗碼等信息
? (6).開啟同步,查看狀態(tài)
MYSQL教程五、單向主從環(huán)境[也稱 mysql A/B復制]的搭建案例:
MYSQL教程1.主DB server和從DB server都安裝相應(yīng)版本的數(shù)據(jù)庫,我的兩臺DB server都已經(jīng)安裝好(5.6.14版本),都會是雙實例,這里就不演示安裝,可以參考mysql源碼編譯安裝和mysql多實例配置兩篇文章
注:兩臺機器的的selinux都是disable(永久關(guān)閉selinux,請修改/etc/selinux/config,將SELINUX改為disabled),防火墻可以選擇關(guān)閉,開啟的話也行[不行的話,添加防火墻策略]
2.修改主DB server的配置文件(/etc/my.cnf),開啟日志功能,設(shè)置server_id值,保證唯一[client102為主DB server]
MYSQL教程
[root@client102 scripts]# vim /etc/my.cnf
# 修改配置文件里,下面兩個參數(shù):
# 設(shè)置server_id,一般建議設(shè)置為IP,或者再加一些數(shù)字
server_id =102
# 開啟二進制日志功能,可以隨便取,最好有含義
log-bin=mysql3306-bin
MYSQL教程3.啟動數(shù)據(jù)庫服務(wù)器,并登陸數(shù)據(jù)庫,授予相應(yīng)的用戶用于同步
MYSQL教程
# 我這里是多實例mysql,所以啟動是這樣的,如果大家是單實例的,就直接啟動就可以[/etc/init.d/mysqld start]
[root@client102 scripts]# mysqld_multi start 3306
# 登陸mysql 服務(wù)器
[root@client102 scripts]# mysql -uroot -S /usr/local/mysql/mysqld3306.sock -p
# 授予用戶權(quán)限用于主從同步
mysql> grant replication slave on *.* to 'kongzhong'@'192.168.1.100' identified by 'kongzhong';
Query OK, 0 rows affected (0.00 sec)
# 刷新授權(quán)表信息
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 查看position 號,記下position 號(很重要,從機上需要這個position號和現(xiàn)在的日志文件,我這里是414和mysql3306-bin.000001)
mysql> show master status;
+----------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------+----------+--------------+------------------+-------------------+
| mysql3306-bin.000001 | 414 | | | |
+----------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
MYSQL教程4.為保證主DB server和從DB server的數(shù)據(jù)一致,這里采用主備份,從還本來實現(xiàn)初始數(shù)據(jù)一致
MYSQL教程5.從DB server配置文件只需修改一項,其余用命令行做
MYSQL教程6.啟動數(shù)據(jù)庫,還原備份數(shù)據(jù)
MYSQL教程7.登陸數(shù)據(jù)庫,添加相關(guān)參數(shù)(主DBserver的ip/端口/同步用戶/暗碼/position號/讀取哪個日志文件)
MYSQL教程8.下面大家就可以在主DB server上新建一個表,看是否能同步到從DB server上,我這里就不測試了
MYSQL教程[注:千萬不要在從DB server手動插入數(shù)據(jù),那樣數(shù)據(jù)就不一致,主從就會斷開,需要重新配置了]
MYSQL教程如果有問題,可以嘗試關(guān)閉IPTABLES(/etc/init.d/iptables stop)和selinux(setenforce 0:臨時關(guān)閉selinux,永久關(guān)閉selinux,請修改/etc/selinux/config,將SELINUX改為disabled)
MYSQL教程9.上面所搭建的是單向主從,也是用的比較多的,有人想了解雙向主從是如何搭建,其實,就是主DB server和從DB sever都開啟日志功能,然后在主DB SERVER執(zhí)行授權(quán)用戶[這里授權(quán)的是本身作為從服務(wù)器,也就是這里的IP地址是主DB server的IP地址],然后再在主DB server上進行chang master操作.有不理解的可以留言詢問.
維易PHP培訓學院每天發(fā)布《Mysql實例mysql 5.6.14主從復制(也稱mysql AB復制)環(huán)境配置方法》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14142.html