内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

MySQL主從復(fù)制怎樣實(shí)現(xiàn)高可用

MySQL主從復(fù)制怎樣實(shí)現(xiàn)高可用,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

十多年的沙灣網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整沙灣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“沙灣網(wǎng)站設(shè)計(jì)”,“沙灣網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1. MySQL主從復(fù)制實(shí)現(xiàn)高可用

1.1. 數(shù)據(jù)庫(kù)永遠(yuǎn)是系統(tǒng)最脆弱的環(huán)節(jié)

  • 80%都是查詢

  • 緩存來(lái)保護(hù)數(shù)據(jù)庫(kù):redis、ElasticSearch

  • 數(shù)據(jù)庫(kù)系統(tǒng)要有一定的容災(zāi)能力

  • 數(shù)據(jù)狀態(tài)化明顯

1.2. 數(shù)據(jù)庫(kù)的HA實(shí)現(xiàn)的方式

1.2.1. 高可以計(jì)算方式

  • MTTF:平均無(wú)故障時(shí)間

  • MTTR:平均維護(hù)時(shí)間

  • HA=MTTF/(MTTF+MTTR)* 100% (這就是常說(shuō)的99.95%)

1.2.2. 數(shù)據(jù)庫(kù)高可用的三種方式

  • 主從(非對(duì)稱)

    master-slave,熱數(shù)據(jù)備份,從庫(kù)一般是用來(lái)實(shí)時(shí)備份,從機(jī)可以快速切換為主庫(kù),讀寫(xiě)分離(數(shù)據(jù)的一致性),從庫(kù)一般設(shè)置為只讀

    前端應(yīng)用走緩存,后端應(yīng)用Report走從庫(kù)查

  • 對(duì)稱方式

    兩個(gè)節(jié)點(diǎn),互為主從,雙主模式(兩個(gè)數(shù)據(jù)庫(kù)的主鍵如果是自動(dòng)生成需要初始設(shè)置成不一樣的)

    A-1001,1003,1005,B-1002,1004,1006

    雙主下數(shù)據(jù)同步一定要實(shí)時(shí)

  • 多機(jī)方式

    • MHA

    • MMM

    • MyCat(可以實(shí)現(xiàn)雙主機(jī)熱切)

1.2.3. 主從實(shí)現(xiàn)的邏輯

MySQL主從復(fù)制怎樣實(shí)現(xiàn)高可用

  • 資源:兩臺(tái)數(shù)據(jù)庫(kù)

  • Master會(huì)將修改記錄進(jìn)binlog

  • Slave從主庫(kù)binlog讀取數(shù)據(jù)寫(xiě)入relaylog

    • relaylog和binlog的格式一樣,可以用mysqlbinlog讀取relaylog

    • mysql> show relaylog events in 'relay-bin.000001';

    • binlog的postition方式

    • GTID方式:MySQL版本>=5.7

1.3. 配置主從復(fù)制

# 慢查詢開(kāi)關(guān)
slow_query_log=ON
slow_query_log_file=/usr/local/slowlog/slow.log
slow_launch_time=4
long_query_time=3
# chown -R mysql:mysql /usr/local/slowlog/

binlog設(shè)置

server_id=213
log_bin=/usr/local/binlog/mysql-bin  # 只需要給名字前綴
binlog_format=row
expire_logs_days=3
max_binlog_size=200m
  • Slave服務(wù)器配置

# 慢查詢開(kāi)關(guān)
slow_query_log=ON
slow_query_log_file=/usr/local/slowlog/slow.log
slow_launch_time=4
long_query_time=3
# chown -R mysql:mysql /usr/local/slowlog/

從庫(kù)的主從設(shè)置

server_id=214
relay_log=/usr/local/relaylog/relay-bin
relay_log_recovery=1 #確保完整性

read_only=on #從服務(wù)器只讀
skip_slave_start=on #slave重啟后不會(huì)自己?jiǎn)?dòng)復(fù)制鏈路,需要手動(dòng)啟動(dòng),建議手動(dòng)啟動(dòng),好處是檢查無(wú)誤后啟動(dòng)

master_info_repository=TABLE # 將主從服務(wù)的信息保存進(jìn)表
relay_log_info_repository=TABLE # 將主從服務(wù)的信息保存進(jìn)表
  • 主從指明不同步的數(shù)據(jù)庫(kù)

# Master
# 不同步數(shù)據(jù)庫(kù)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
# 只同步某一些數(shù)據(jù)庫(kù)
binlog-do-db=icoding_admin

# Slave
# 復(fù)制哪些數(shù)據(jù)庫(kù)
replicate-do-db=icoding_admin
replicate-do-db=game
# 不復(fù)制哪些數(shù)據(jù)庫(kù)
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
  • 先Master上建立授權(quán)賬號(hào)

# Master授權(quán)給slave
mysql> use mysql;
mysql> grant replication slave on *.* to 'synuser'@'192.168.0.214' identified by '123456';
mysql> flush privileges;
  • 初始化Slave數(shù)據(jù)

# Master和Slave的數(shù)據(jù)庫(kù)版本要一致,Master<=Slave
mysqldump -uroot -p123456 -h227.0.0.1 --flush-logs --master-data=2 --routines --triggers --events --single-transaction --databases icoding_admin > mydb.sql
#CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=154; 就用導(dǎo)出的日志pos
  • 啟動(dòng)復(fù)制鏈路

# 在slave上執(zhí)行
mysql> 
change master to master_host='192.168.0.213',
master_port=3306,
master_user='synuser',
master_password='123456',
master_log_file='mysql-bin.000004',
master_log_pos=154;
  • 注意事項(xiàng)

主從復(fù)制的時(shí)候主從數(shù)據(jù)庫(kù)的UUID不能一樣,如果是鏡像方式,啟動(dòng)前將UUID文件刪除,會(huì)重新創(chuàng)建
cd /var/lib/mysql
cat auto.cnf  # 將他刪除
server-uuid=890980d9-b072-11ea-8ab8-00163e03668d
  • 啟動(dòng)主從復(fù)制

# show slave status \G 可以查看主從復(fù)制的狀態(tài)和日志錯(cuò)誤
# 啟動(dòng)slave
mysql> start slave;
# 停止slave
mysql> stop slave;

作業(yè)1:搭建一個(gè)雙主的結(jié)構(gòu)

  • 使用GTID方式進(jìn)行復(fù)制鏈路

# 默認(rèn)GTID是不開(kāi)啟的
# 如果開(kāi)啟以下操作不可用
# create table ..... select * from xxx; 不可用
# 在一個(gè)事務(wù)里不能創(chuàng)建和刪除表
# 在一個(gè)事務(wù)里更新innodb引擎和myisam不可用
  • 無(wú)意中刪除了一個(gè)數(shù)據(jù),可以做延時(shí)從庫(kù)

# 從庫(kù)做備份就無(wú)法做到數(shù)據(jù)的及時(shí)恢復(fù)
# 讓我的從庫(kù)做到延時(shí)同步
mysql> stop slave;
mysql> change master to master_delay=10; # 延時(shí)10秒
mysql> start slave;
mysql> show slave status \G;

master(實(shí)時(shí)slave,延時(shí)slave)

看完上述內(nèi)容,你們掌握MySQL主從復(fù)制怎樣實(shí)現(xiàn)高可用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

標(biāo)題名稱:MySQL主從復(fù)制怎樣實(shí)現(xiàn)高可用
網(wǎng)站鏈接:http://www.rwnh.cn/article4/ipceoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、域名注冊(cè)、App設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
永德县| 延吉市| 沧州市| 横峰县| 谷城县| 湘潭县| 常山县| 郸城县| 旌德县| 凌云县| 米易县| 肥城市| 贵南县| 潼关县| 历史| 福州市| 涪陵区| 昌黎县| 铜梁县| 丰城市| 黄山市| 呼玛县| 龙岩市| 镇平县| 桦南县| 贵南县| 蒲城县| 西乡县| 广宗县| 凤城市| 长垣县| 东阿县| 武隆县| 于田县| 阿城市| 同心县| 子洲县| 客服| 轮台县| 永春县| 冕宁县|