幾種常見的Replication拓?fù)浣Y(jié)構(gòu):
目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、寧明網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。1.單master----多slave
slave之間互不通信,只和master通信
適用于讀壓力比較大的應(yīng)用場景,將讀操作分布到不同的slave中,減小master壓力
2.多master----單slave
mysql貌似暫不支持,個人認(rèn)為通過slave多實例實現(xiàn)
3.主動模式的Master----Master
當(dāng)前master是另一master的slave
問題:同時更新一個操作產(chǎn)生沖突
4.主動-被動模式的Master----Master
只能有一個可讀
5.級聯(lián)復(fù)制的Master----Slaves----Slaves
結(jié)構(gòu)1中的replication導(dǎo)致slave連上master的線程過多,replication的壓力過大
級聯(lián)可以一定程度上緩解master的壓力,但是需要設(shè)置log_slave_updates=1。
每級slave是下級slave的master,所有重做中繼日志同樣需要寫入binlog中
下面安裝的是最基本的單slave單master
第一步:準(zhǔn)備工作
操作系統(tǒng):Centos7.1
數(shù)據(jù)庫:mysql-5.6.30
主host:172.17.220.145
從host:172.17.220.220
第二步:設(shè)置防火墻
Centos7.1默認(rèn)防火墻為firewalld,需要通過yum安裝iptables-service
分別在主從服務(wù)器中:
vi /etc/sysconfig/iptables
在“-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT”后增加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
systemctl start iptables.service
第三步:修改主數(shù)據(jù)庫的配置文件my.cnf
server-id=145(主服務(wù)器的ID值,建議為ip最后一段)
log_bin = /opt/mysql/data1/mysql-bin.log(二進(jìn)制日志)
log_slave_updates = 0 (0表示slave將復(fù)制事件寫進(jìn)自己的二進(jìn)制日志)
binlog_format=MIXED (二進(jìn)制日志類型)
第四步:修改從數(shù)據(jù)庫的配置文件my.cnf
server-id=224
log_bin = /opt/mysql/data1/mysql-bin.log(如果該slave為其他slave的master,必須開啟二進(jìn)制)
#relay_log=
read_only=1 (防止從庫修改數(shù)據(jù),從庫只讀)
log_slave_updates = 1
第五步:創(chuàng)建master用戶
登錄主數(shù)據(jù)庫
mysql> GRANT REPLICATION SLAVE ON *.* TO 'mypri'@'172.17.220.145' IDENTIFIED BY ‘123456’;
第六步:重啟主從數(shù)據(jù)庫
service mysql restart
第七步:假如主庫存在數(shù)據(jù)
5.1 先對主庫鎖表,不讓數(shù)據(jù)再進(jìn)行寫入
mysql> flush tables with read lock;
5.2 主庫 mysqldump -uroot -p --all-databases >all.sql(導(dǎo)出所有數(shù)據(jù)庫)
5.3 若從庫不存在數(shù)據(jù),則導(dǎo)入all.sql到從庫
mysql -uroot -p <all.sql
從庫本身存在數(shù)據(jù),先備份從庫,再刪除從庫中的數(shù)據(jù),僅保留mysql、information_schema、performance_schema
5.4 主數(shù)據(jù)庫 unlock table
5.5 主數(shù)據(jù)庫 show master status; 獲取master_log_file與master_log_pos
第八步: 從服務(wù)器slave啟動
change master to master_host='172.17.220.145',
master_user='mypri',
master_password='123456',
master_log_file='mysql-bin.000021',(show master status獲?。?/p>
master_log_pos=1212, (show master status獲取)
master_connect_retry=60;(超時重連)
啟動slave:start slave;
show slave status\G 驗證是否成功
成功與否主要看:
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
錯誤信息:
1. slave have equal MySQL Server UUIDs
這個問題的主要原因是本人進(jìn)行了虛擬機復(fù)制,導(dǎo)致主從數(shù)據(jù)庫的server_id或server_uuid一致
查看server_id:show variables like 'server_id';
查看server_uuid:show variables like 'server_uuid';
server_id一致,修改my.cnf文件
server_uuid一致
刪除從庫中的$data_path/data/auto.cnf
然后重啟從庫
查看主庫上的幾個重要參數(shù):
show variables like '%autocommit%'; 自動提交是否開啟
show variables like '%innodb_flush_method%'; innodb引擎的表刷新方式 O_DIRECT
show variables like '%sync_binlog%';
sync_binlog=0:不主動刷新二進(jìn)制日志文件的數(shù)據(jù)到磁盤上,由操作系統(tǒng)決定
sync_binlog=N:向二進(jìn)制日志文件寫入N條SQL或N個事務(wù)后,二進(jìn)制日志文件的數(shù)據(jù)刷新到磁盤上;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:MySQL5.6主從復(fù)制(簡單版)-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article36/dddcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、全網(wǎng)營銷推廣、微信公眾號、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容