日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

MySql主從復(fù)制實現(xiàn)原理及配置

瀏覽:10日期:2023-10-08 14:33:15

數(shù)據(jù)庫讀寫分離對于大型系統(tǒng)或者訪問量很高的互聯(lián)網(wǎng)應(yīng)用來說,是必不可少的一個重要功能。對于MySQL來說,標準的讀寫分離是主從模式,一個寫節(jié)點Master后面跟著多個讀節(jié)點,讀節(jié)點的數(shù)量取決于系統(tǒng)的壓力,通常是1-3個讀節(jié)點的配置。而一般的讀寫分離中間件,例如Mycat的讀寫分離和自動切換機制,需要mysql的主從復(fù)制機制配合。

MySql主從復(fù)制實現(xiàn)原理及配置

主從配置需要注意的地方

1、主DB server和從DB server數(shù)據(jù)庫的版本一致

2、主DB server和從DB server數(shù)據(jù)庫數(shù)據(jù)名稱一致

3、主DB server開啟二進制日志,主DB server和從DB server的server_id都必須唯一MySQL主服務(wù)器配置

第一步:修改my.conf文件:

在[mysqld]段下添加:

binlog-ignore-db=mysql#啟用二進制日志log-bin=mysql-bin//二進制日志的格式,有三種:statement/row/mixedbinlog_format=row#主服務(wù)器唯一ID,一般取IP最后一段server-id=82

第二步:重啟mysql服務(wù)

service mysql restart

第三步:建立帳戶并授權(quán)slave

mysql>GRANT FILE ON *.* TO ’slave’@’%’ IDENTIFIED BY ’slavepw’;mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to ’slave’@’%’ identified by ’slavepw’;

一般不用root帳號,“%”表示所有客戶端都可能連,只要帳號,密碼正確,此處可用具體客戶端IP代替,如192.168.145.226,加強安全。

刷新權(quán)限

mysql> FLUSH PRIVILEGES;

第四步:查詢master的狀態(tài)

mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000001 | 881 | | mysql | |+------------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)

MySQL從服務(wù)器配置

第一步:修改my.conf文件

[mysqld]#從服務(wù)器唯一ID,一般取IP最后一段server-id=83

第二步:配置從服務(wù)器

mysql>change master to master_host=’192.168.11.82’,master_port=3306,master_user=’slave’,master_password=’slavepw’,master_log_file=’mysql-bin.000001’,master_log_pos=881;

注意語句中間不要斷開,master_port為mysql服務(wù)器端口號(無引號),master_user為執(zhí)行同步操作的數(shù)據(jù)庫賬戶,“881”無單引號(此處的881就是show master status 中看到的position的值,這里的mysql-bin.000001就是file對應(yīng)的值)。

第三步:啟動從服務(wù)器復(fù)制功能

mysql>start slave;

第四步:檢查從服務(wù)器復(fù)制功能狀態(tài):

mysql> show slave status;

Slave_IO_Running: Yes //此狀態(tài)必須YES

Slave_SQL_Running: Yes //此狀態(tài)必須YES

注:Slave_IO及Slave_SQL進程必須正常運行,即YES狀態(tài),否則都是錯誤的狀態(tài)(如:其中一個NO均屬錯誤)。

進行驗證

在主節(jié)點上創(chuàng)建表、插入數(shù)據(jù),發(fā)現(xiàn)從節(jié)點也創(chuàng)建表并插入數(shù)據(jù)。

MySQL 主從復(fù)制原理的是啥?

主庫將變更寫入 binlog 日志,然后從庫連接到主庫之后,從庫有一個 IO 線程,將主庫的 binlog 日志拷貝到自己本地,寫入一個 relay 中繼日志中。接著從庫中有一個 SQL 線程會從中繼日志讀取 binlog,然后執(zhí)行 binlog 日志中的內(nèi)容,也就是在自己本地再次執(zhí)行一遍 SQL,這樣就可以保證自己跟主庫的數(shù)據(jù)是一樣的。

這里有一個非常重要的一點,就是從庫同步主庫數(shù)據(jù)的過程是串行化的,也就是說主庫上并行的操作,在從庫上會串行執(zhí)行。所以這就是一個非常重要的點了,由于從庫從主庫拷貝日志以及串行執(zhí)行 SQL 的特點,在高并發(fā)場景下,從庫的數(shù)據(jù)一定會比主庫慢一些,是有延時的。所以經(jīng)常出現(xiàn),剛寫入主庫的數(shù)據(jù)可能是讀不到的,要過幾十毫秒,甚至幾百毫秒才能讀取到。

而且這里還有另外一個問題,就是如果主庫突然宕機,然后恰好數(shù)據(jù)還沒同步到從庫,那么有些數(shù)據(jù)可能在從庫上是沒有的,有些數(shù)據(jù)可能就丟失了。

所以 MySQL 實際上在這一塊有兩個機制,一個是半同步復(fù)制,用來解決主庫數(shù)據(jù)丟失問題;一個是并行復(fù)制,用來解決主從同步延時問題。

這個所謂半同步復(fù)制,也叫semi-sync復(fù)制,指的就是主庫寫入 binlog 日志之后,就會將強制此時立即將數(shù)據(jù)同步到從庫,從庫將日志寫入自己本地的 relay log 之后,接著會返回一個 ack 給主庫,主庫接收到至少一個從庫的 ack 之后才會認為寫操作完成了。

所謂并行復(fù)制,指的是從庫開啟多個線程,并行讀取 relay log 中不同庫的日志,然后并行重放不同庫的日志,這是庫級別的并行。

MySQL 主從同步延時問題

以前線上確實處理過因為主從同步延時問題而導(dǎo)致的線上的 bug,屬于小型的生產(chǎn)事故。

是這個么場景。有個同學(xué)是這樣寫代碼邏輯的。先插入一條數(shù)據(jù),再把它查出來,然后更新這條數(shù)據(jù)。在生產(chǎn)環(huán)境高峰期,寫并發(fā)達到了 2000/s,這個時候,主從復(fù)制延時大概是在小幾十毫秒。線上會發(fā)現(xiàn),每天總有那么一些數(shù)據(jù),我們期望更新一些重要的數(shù)據(jù)狀態(tài),但在高峰期時候卻沒更新。用戶跟客服反饋,而客服就會反饋給我們。

我們通過 MySQL 命令:

show status

查看Seconds_Behind_Master,可以看到從庫復(fù)制主庫的數(shù)據(jù)落后了幾 ms。

一般來說,如果主從延遲較為嚴重,有以下解決方案:

分庫,將一個主庫拆分為多個主庫,每個主庫的寫并發(fā)就減少了幾倍,此時主從延遲可以忽略不計。打開 MySQL 支持的并行復(fù)制,多個庫并行復(fù)制。如果說某個庫的寫入并發(fā)就是特別高,單庫寫并發(fā)達到了 2000/s,并行復(fù)制還是沒意義。重寫代碼,寫代碼的同學(xué),要慎重,插入數(shù)據(jù)時立馬查詢可能查不到。如果確實是存在必須先插入,立馬要求就查詢到,然后立馬就要反過來執(zhí)行一些操作,對這個查詢設(shè)置直連主庫。不推薦這種方法,你要是這么搞,讀寫分離的意義就喪失了。開啟并行復(fù)制

開啟多線程復(fù)制,默認關(guān)鍵的參數(shù)有兩個:

mysql> show variables like ’slave_parallel_%’;+------------------------+----------+| Variable_name | Value |+------------------------+----------+| slave_parallel_type | DATABASE || slave_parallel_workers | 0 |+------------------------+----------+2 rows in set (0.00 sec)

slave-parallel-type 默認值為database

slave-parallel-workers 默認值為0

開啟:

mysql> stop slave sql_thread;Query OK, 0 rows affected (0.05 sec)mysql> set global slave_parallel_type=’LOGICAL_CLOCK’;Query OK, 0 rows affected (0.00 sec)mysql> set global slave_parallel_workers=4;Query OK, 0 rows affected (0.00 sec)mysql> start slave sql_thread;Query OK, 0 rows affected (0.07 sec)

參考資料:

https://www.jianshu.com/p/3932551e0221

https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/mysql-read-write-separation.md

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
色综合五月天| 999久久久91| 日韩中文字幕av电影| 久久国产亚洲| 亚洲天堂成人| 狠狠干成人综合网| 国产精品毛片在线看| 国产精品婷婷| 日韩在线视频一区二区三区| 日本va欧美va精品| 国产精品第一| 国产伦精品一区二区三区在线播放 | 五月亚洲婷婷 | 综合亚洲视频| 亚洲精品欧美| 国产精品成人3p一区二区三区| 久久中文字幕导航| 日本一二区不卡| 国产99久久| 一区二区日韩免费看| 欧美一区二区三区免费看| 久久久亚洲欧洲日产| 欧美激情国产在线| 亚洲精品中文字幕乱码| 亚洲精品看片| 精品视频一区二区三区在线观看| 久久女人天堂| 国产在线一区不卡| 久久三级福利| 亚洲人成网站在线在线观看| 国产精品一区二区中文字幕| 亚洲国产福利| 国产亚洲精品v| 国产色99精品9i| 亚洲伦乱视频| 蜜臀91精品一区二区三区| 国产精品夜夜夜| 欧美亚洲国产激情| 欧美日韩伊人| 亚洲精品.com| 日韩精品免费观看视频| 国产精品99一区二区三| 五月婷婷亚洲| 国产精品对白| 国产日韩综合| 精品国产精品国产偷麻豆 | av资源中文在线| 另类国产ts人妖高潮视频| 国产探花在线精品| 欧美69视频| 国产图片一区| 狠狠操综合网| 国产精品xvideos88| 丝袜美腿一区| 日本91福利区| 久久中文字幕二区| 国产精品黄色| 先锋影音国产一区| 国精品产品一区| 亚洲一二av| 亚洲爱爱视频| 国产伦精品一区二区三区视频 | 亚洲久久一区| 久久蜜桃精品| 国产精品sss在线观看av| 视频福利一区| 91大神在线观看线路一区| 中文字幕在线视频网站| 日韩精品亚洲aⅴ在线影院| 成人久久一区| 国产精品久av福利在线观看| 国产视频亚洲| 日韩中文在线电影| 国产毛片一区二区三区| 国产一区导航| 视频福利一区| 精品国产成人| 日韩精品福利一区二区三区| 91成人网在线观看| 红杏一区二区三区| 天海翼亚洲一区二区三区| 久久久久中文| 久久三级中文| 国产亚洲欧美日韩在线观看一区二区| 欧美日韩国产高清| 日韩在线观看| 韩国一区二区三区视频| 日韩av成人高清| 视频一区中文字幕国产| 欧美日韩中文字幕一区二区三区| 麻豆国产91在线播放| 7777精品| 亚洲不卡视频| 每日更新成人在线视频| 香蕉成人av| 亚洲国产成人二区| 久久狠狠久久| 日韩精品免费观看视频| 在线视频亚洲欧美中文| 不卡一区综合视频| 日韩电影在线视频| 国产精品久久久久久久免费观看| 国产精品一区二区av日韩在线| 日韩专区视频网站| 亚洲人成网77777色在线播放| 在线亚洲自拍| 日韩视频二区| 在线精品小视频| 激情婷婷亚洲| 久久精品国产亚洲夜色av网站| 黑森林国产精品av| 麻豆久久一区| 国产精品白浆| 久久超级碰碰| 精品资源在线| 国产成人精品一区二区免费看京| 国产精品成人**免费视频| 国产日韩1区| 国产精品极品国产中出| 国产精品成人**免费视频| 国产午夜一区| 国产高清日韩| 久久99久久人婷婷精品综合| 国产精品香蕉| 久久gogo国模啪啪裸体| 国产精品一区二区精品视频观看 | 欧美日韩精品免费观看视频完整| 999国产精品视频| 99久久亚洲精品| 女主播福利一区| 免费一区二区视频| 日韩欧美美女在线观看| 欧美日韩国产一区二区在线观看| 日韩激情视频网站| 国产精品亚洲四区在线观看| 美女性感视频久久| 中文字幕一区久| 日韩不卡视频在线观看| 极品日韩av| 丝袜脚交一区二区| 日日夜夜免费精品| 国产乱子精品一区二区在线观看 | 亚洲激情av| 一区二区三区网站| 欧美在线91| 国产色99精品9i| 精品国产一区二| 91精品亚洲| 亚洲精选久久| 国产精品.xx视频.xxtv| 欧美二三四区| 亚洲一区二区网站| 日韩高清成人在线| 丁香婷婷久久| 欧美/亚洲一区| 亚洲91在线| 久久久久久网| 99亚洲精品| 国产日韩欧美一区二区三区在线观看| 精品一区二区三区中文字幕在线| 福利一区和二区| 性欧美xxxx免费岛国不卡电影| 蜜桃久久精品一区二区| 国产精品一区二区中文字幕| 日韩国产欧美| 麻豆91精品| 国产一区国产二区国产三区| 欧美日韩视频一区二区三区| 99国产精品99久久久久久粉嫩| **爰片久久毛片| 亚洲深夜视频| 日韩中文字幕不卡| 久久香蕉网站| 国产亚洲毛片在线| 国产极品一区| 99riav国产精品| 欧美专区一区| 四虎4545www国产精品| 亚洲久久一区| 丝袜诱惑一区二区| 亚洲三级网站| 91精品xxx在线观看| 日韩精品第一| 久久婷婷亚洲| 日本午夜精品一区二区三区电影 | 成人在线免费观看网站| 亚洲欧美视频| 日韩综合在线| 亚洲精品成a人ⅴ香蕉片| 国内一区二区三区| 中文字幕日韩亚洲| 香蕉成人av| 国产精品亚洲片在线播放| 亚洲国产一区二区在线观看| 欧美激情五月| 日本大胆欧美人术艺术动态| 成人免费一区| 日韩二区在线观看| 91成人超碰| 中文字幕在线看片|