中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站頁(yè)面怎么做的好看chatgpt 鏈接

網(wǎng)站頁(yè)面怎么做的好看,chatgpt 鏈接,無(wú)錫做網(wǎng)站的公司,如何建設(shè)農(nóng)業(yè)推廣網(wǎng)站系列文章目錄 rpmbuild構(gòu)建mysql5.7.42版本的rpm包 文章目錄 系列文章目錄一、mysql-5.7.42RPM包構(gòu)建二、同步模式分類(lèi)介紹1.異步同步模式2.半同步模式2.1.實(shí)現(xiàn)半同步操作流程2.2.半同步問(wèn)題總結(jié)2.3.半同步一致性2.4.異步與半同步對(duì)比 3.GTID同步 三、GTID同步介紹1.gtid介紹2…

系列文章目錄

rpmbuild構(gòu)建mysql5.7.42版本的rpm包


文章目錄

  • 系列文章目錄
  • 一、mysql-5.7.42RPM包構(gòu)建
  • 二、同步模式分類(lèi)介紹
    • 1.異步同步模式
    • 2.半同步模式
      • 2.1.實(shí)現(xiàn)半同步操作流程
      • 2.2.半同步問(wèn)題總結(jié)
      • 2.3.半同步一致性
      • 2.4.異步與半同步對(duì)比
    • 3.GTID同步
  • 三、GTID同步介紹
    • 1.gtid介紹
    • 2.gtid組成
    • 3.gtid工作原理
    • 4.gtid優(yōu)缺點(diǎn)
  • 四、搭建主從復(fù)制
    • 1.兩臺(tái)機(jī)器分別安裝mysql-rpm包
    • 2.檢查兩臺(tái)機(jī)器my.cnf配置文件
    • 3.創(chuàng)建主從復(fù)制用戶(hù)
    • 4.搭建主從
    • 5.驗(yàn)證
  • 五、主從復(fù)制原理
  • 總結(jié)


一、mysql-5.7.42RPM包構(gòu)建

1、首先請(qǐng)查看頂部的系列文章目錄,通過(guò)這篇文章構(gòu)建出mysql的rpm安裝包
2、接著將構(gòu)建好的rpm包上傳到服務(wù)器,至此安裝包準(zhǔn)備完畢,接下來(lái)搭建GTID同步模式的主從復(fù)制

二、同步模式分類(lèi)介紹

1.異步同步模式

在這里插入圖片描述

異步同步模式是 MySQL 默認(rèn)的同步策略模式。
客戶(hù)端在向服務(wù)端發(fā)送請(qǐng)求后,master處理完之后,直接返回客戶(hù)端結(jié)果,接著在將對(duì)應(yīng)的log信息發(fā)送給 slave節(jié)點(diǎn)。

異步同步模式缺點(diǎn)

主庫(kù)在執(zhí)行完客戶(hù)端提交的事務(wù)后會(huì)立即將結(jié)果返回給客戶(hù)端,并不關(guān)心從庫(kù)是否已經(jīng)接收并處理,
這樣就會(huì)有一個(gè)問(wèn)題,主庫(kù)如果crash掉了,此時(shí)主庫(kù)上已經(jīng)提交的事務(wù)可能并沒(méi)有傳到從庫(kù)上,
如果此時(shí),強(qiáng)行將從提升為主,可能導(dǎo)致新的主庫(kù)上數(shù)據(jù)不完整

2.半同步模式

在這里插入圖片描述
半同步模式與異步同步的模式最大的區(qū)別

1、主庫(kù)在執(zhí)行完客戶(hù)端提交的事務(wù)后不是立刻返回給客戶(hù)端,而是等待至少一個(gè)從庫(kù)接收到并寫(xiě)到relay_log中才返回給客戶(hù)端
2、半同步模式也是基于異步復(fù)制的基礎(chǔ)上進(jìn)行的,無(wú)非是半同步模式需要安裝異步插件完成

2.1.實(shí)現(xiàn)半同步操作流程

1、檢測(cè)是否支持動(dòng)態(tài)安裝插件模式
mysql > select @@have_dynamic_loading; #返回YES為支持,反之不支持
2、在 master 上安裝 master 對(duì)應(yīng)的插件.slave節(jié)點(diǎn)也可以安裝,此處不做示例
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; #執(zhí)行安裝
mysql >show global variables like 'rpl_semi%'; #查看安裝插件后的參數(shù)配置
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | OFF        |
| rpl_semi_sync_master_timeout              | 10000      |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
+-------------------------------------------+------------+
3、master 服務(wù)器和 slave 服務(wù)器都開(kāi)啟主從復(fù)制插件功能
mysql > set global rpl_semi_sync_master_enabled=ON; #調(diào)整半同步插件參數(shù)值
mysql > show global variables like 'rpl_semi%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | ON         |
| rpl_semi_sync_master_timeout              | 10000      |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
| rpl_semi_sync_slave_enabled               | ON         |
| rpl_semi_sync_slave_trace_level           | 32         |
+-------------------------------------------+------------+
4、salve 節(jié)點(diǎn)半同步復(fù)制模式
mysql >stop slave io_thread;
mysql >start slave io_thread;
5、在 master 上查看 slave 信息。 
這里我們看到 Rpl_semi_sync_master_clients=1,則表示有一個(gè) salve 節(jié)點(diǎn)連接上了
mysql > show global status like '%semi%';
+--------------------------------------------+-------+
| Variable_name                              | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients               | 1     |
| Rpl_semi_sync_master_status                | ON    |
+--------------------------------------------+-------+
15 rows in set
Time: 0.011s

2.2.半同步問(wèn)題總結(jié)

問(wèn)題解答
slave 節(jié)點(diǎn)響應(yīng) master 延遲當(dāng) master 發(fā)送給 slave 節(jié)點(diǎn) binary log 之后,需要等待 slave 的響應(yīng)。有時(shí)可能 slave 節(jié)點(diǎn)響應(yīng)很慢,master 不能一直等待,這樣會(huì)導(dǎo)致客戶(hù)端請(qǐng)求超時(shí)情況,可以通過(guò)下面的參數(shù)進(jìn)行設(shè)置。該參數(shù)的單位是毫秒,默認(rèn)是 10 秒,推薦設(shè)置大一點(diǎn)。因?yàn)槌瑫r(shí)之后,master 會(huì)自動(dòng)切換為異步復(fù)制。rpl_semi_sync_master_timeout
半同步模式自動(dòng)轉(zhuǎn)為異步同步模式上方提到了,如果超時(shí)之后,半同步模式會(huì)自動(dòng)切換為異步復(fù)制模式。
master 接收 slave 節(jié)點(diǎn)數(shù)量,響應(yīng)客戶(hù)端。當(dāng) master 需要將 binary log 發(fā)送給多個(gè) slave 節(jié)點(diǎn)時(shí),如果 slave 節(jié)點(diǎn)存在多個(gè),master 都要等待 slave 一一響應(yīng)之后才回復(fù)客戶(hù)端,這也是一個(gè)特別耗時(shí)的過(guò)程,可以通過(guò)下面的參數(shù)進(jìn)行設(shè)置。rpl_semi_sync_master_wait_for_slave_count #默認(rèn)是1
當(dāng)半同步模式自動(dòng)切換為異步之后,如何切換為半同步模式。這時(shí)候需要手動(dòng)切換模式。就是關(guān)閉 io_thread,再開(kāi)啟 io_thread

2.3.半同步一致性

半同步復(fù)制模式極大程度上提高了主從復(fù)制的一致性。同時(shí)在 MySQL5.7+的版本增加了另外一個(gè)參數(shù),
讓復(fù)制的一致性更加可靠。這個(gè)參數(shù)就是rpl_semi_sync_master_wait_point,需要在 master 上執(zhí)行。
mysql > set global rpl_semi_sync_master_wait_point = 'x';該參數(shù)有兩個(gè)值。一個(gè)值是 AFTER_SYNC,一個(gè)值是 AFTER_COMMIT。默認(rèn)是 AFTER_SYNC。區(qū)別如下表格所示
AFTER_COMMITmaster 在將事務(wù)寫(xiě)入 binary log 之后,然后發(fā)送給 slave。同時(shí)也會(huì)自動(dòng)提交 master 的事務(wù)。等 slave 響應(yīng)之后,master 接著響應(yīng)給客戶(hù)端信息。
AFTER_SYNCmaster 在將事務(wù)寫(xiě)入 binary log 之后,然后發(fā)送給 slave。等待 slave 響應(yīng)之后,才會(huì)提交 master 的事務(wù),接著響應(yīng)給客戶(hù)端信息。

2.4.異步與半同步對(duì)比

異步同步模式是直接返回給客戶(hù)端在處理 slave 的問(wèn)題,如果 master 響應(yīng)給客戶(hù)端成功信息,在處理 slave 問(wèn)題時(shí),服務(wù)掛掉了,此時(shí)就會(huì)出現(xiàn)數(shù)據(jù)不一致。
半同步模式需要等待 slave 節(jié)點(diǎn)做出響應(yīng),master 才會(huì)響應(yīng)客戶(hù)端,如果 salve 響應(yīng)較慢就會(huì)造成客戶(hù)端等待時(shí)間較長(zhǎng)
半同步模式master 等待 slave 響應(yīng)之后才會(huì)響應(yīng)給客戶(hù)端,此方式極大程度的保證了數(shù)據(jù)的一致性,為主從復(fù)制的數(shù)據(jù)一致性提供了更可靠的保證。也推薦使用該方式進(jìn)行主從復(fù)制操作。

3.GTID同步

如下方所示

三、GTID同步介紹

1.gtid介紹

GTID是一種全局事務(wù)ID,它是在master上已經(jīng)提交的事務(wù),slave直接根據(jù)該ID進(jìn)行復(fù)制操作。
該操作替代了binary log + postion的方式。使得主從復(fù)制的配置操作更加簡(jiǎn)單。

2.gtid組成

server-id不是MySQL配置文件中id,而是每一個(gè)MySQL服務(wù)在啟動(dòng)時(shí),都會(huì)生成一個(gè)全局隨機(jī)唯一的ID。transaction-id則是事務(wù)的ID,創(chuàng)建事務(wù)是會(huì)自動(dòng)生成一個(gè)ID。

GTID = server-id + transaction-id組成

3.gtid工作原理

1、當(dāng)一個(gè)事務(wù)在主庫(kù)端執(zhí)行并提交時(shí),會(huì)產(chǎn)生GITD,一同記錄到binlog日志中
2、binlog傳輸?shù)絪lave,并存儲(chǔ)到slave的relay-log(中繼日志)中,,讀取GTID的這個(gè)值設(shè)置gtid_next變量,即告訴Slave,下一個(gè)要執(zhí)行的GTID值
3、sql線(xiàn)程從relay log中獲取GTID,然后對(duì)比slave端的binlog是否有該GTID
4、如果有記錄,說(shuō)明該GTID的事務(wù)已經(jīng)執(zhí)行,slave會(huì)忽略
5、如果沒(méi)有記錄,slave就會(huì)執(zhí)行該GTID事務(wù),并記錄該GTID到自身的binlog。在讀取執(zhí)行事務(wù)前會(huì)先檢查其他session持有該GTID,確保不被重復(fù)執(zhí)行。
6、在解析過(guò)程中會(huì)判斷是否有主鍵,如果沒(méi)有就用二級(jí)索引,如果沒(méi)有就用全部掃描

4.gtid優(yōu)缺點(diǎn)

優(yōu)點(diǎn)缺點(diǎn)
根據(jù) GTID 可以快速的確定事務(wù)最初是在哪個(gè)實(shí)例上提交的。必須確保主從庫(kù)的引擎一致
簡(jiǎn)單的實(shí)現(xiàn) failover,不用以前那樣在需要找 log_file 和 log_pos。不允許一個(gè)SQL同時(shí)更新一個(gè)事務(wù)引擎和非事務(wù)引擎的表
更簡(jiǎn)單的搭建主從復(fù)制,確保每個(gè)事務(wù)只會(huì)被執(zhí)行一次。/
比傳統(tǒng)的復(fù)制更加安全,一個(gè) GTID 在一個(gè)服務(wù)器上只執(zhí)行一次,避免重復(fù)執(zhí)行導(dǎo)致數(shù)據(jù)混亂或者主從不一致。/
GTID是連續(xù)的沒(méi)有空洞的,保證數(shù)據(jù)的一致性,零丟失/
GTID 用來(lái)代替classic的復(fù)制方法,不再使用 binlog+pos 開(kāi)啟復(fù)制。而是使用 master_auto_postion=1 的方式自動(dòng)匹配 GTID 斷點(diǎn)進(jìn)行復(fù)制。/
GTID 的引入,讓每一個(gè)事務(wù)在集群事務(wù)的海洋中有了秩序,使得 DBA 在運(yùn)維中做集群變遷時(shí)更加方便/

四、搭建主從復(fù)制

環(huán)境準(zhǔn)備

ip分類(lèi)
192.168.56.130master
192.168.56.131slave

1.兩臺(tái)機(jī)器分別安裝mysql-rpm包

這個(gè)rpm包就是第一步已構(gòu)建好的rpm包

[root@mysql1 ~]# rpm -ivh city-mysql5.7.42-1-1.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...1:city-mysql5.7.42-1-1             ################################# [100%]
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
Datadir /export/servers/data/my3306 will been created,instance install will continue
Starting MySQL..... SUCCESS! 
Install successful!!!
The  Password of mysql user root is : 0gvzJr66iNs51. mysql進(jìn)程可以使用systemctl啟停;2. mysql未設(shè)置開(kāi)機(jī)自啟;3. mysql登陸方式:mysql -uroot -p -S /export/servers/data/my3306/run/mysqld.sock4. 建議修改root密碼5. 參數(shù)文件中設(shè)置為只讀(read_only=1 super_read_only=1),如需要請(qǐng)將參數(shù)值該為零。

2.檢查兩臺(tái)機(jī)器my.cnf配置文件

因?yàn)樵诎惭b了構(gòu)建好的rpm包后,my.cnf文件已經(jīng)封裝進(jìn)去了,因此在安裝后,只需要略微調(diào)試相關(guān)參數(shù),即可使用。下方只列出了幾個(gè)需要修改的重要參數(shù),其余參數(shù)再次不展示
master節(jié)點(diǎn)

檢查my.cnf文件中是否包含了開(kāi)啟gtid的相關(guān)參數(shù)
server_id               = 1   #自定義
log_bin                 = ON
binlog_format           = ROW
gtid_mode				= ON
enforce_gtid_consistency = ON
innodb_buffer_pool_size= 1G #根據(jù)服務(wù)器配置調(diào)整

slave節(jié)點(diǎn)

server_id               = 2 #自定義 與master不同即可
log_bin                 = mysql-bin
binlog_format           = ROW
gtid_mode				= ON
enforce_gtid_consistency = ON
log_slave_updates		= ON
read_only				= ON  #從庫(kù)開(kāi)啟只讀
super_read_only			= ON  #從庫(kù)開(kāi)啟只讀
innodb_buffer_pool_size= 1G #根據(jù)服務(wù)器配置調(diào)整

參數(shù)調(diào)整完成后,需要重啟master-slave兩個(gè)節(jié)點(diǎn)的MySQL,重啟完成后,下一步就開(kāi)始搭建主從關(guān)系

3.創(chuàng)建主從復(fù)制用戶(hù)

登錄主庫(kù)執(zhí)行

mysql > grant replication slave on *.* to 'repl'@'%' identified by '123456';
mysql >  flush privileges;

4.搭建主從

登錄從庫(kù)操作

mysql > reset master; 
mysql > change master to master_host='主庫(kù)IP', master_port=主庫(kù)端口,master_user='repl' ,master_password='xx' ,master_auto_position=1;
mysql > start slave; #開(kāi)啟主從復(fù)制
mysql > show slave status\G; #查看主從狀態(tài)

當(dāng)IO thread和SQL thrad 都為YES 說(shuō)明主從搭建完畢

5.驗(yàn)證

登錄主庫(kù)操作

mysql> show master status;
+------------------+-----------+--------------+------------------+---------------------------------------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                                 |
+------------------+-----------+--------------+------------------+---------------------------------------------------+
| mysql-bin.010602 | 590048831 |              |                  | 52cf1b46-f308-11ec-a372-fa163e258462:1-1404783188 |
+------------------+-----------+--------------+------------------+---------------------------------------------------+
1 row in set (0.00 sec)

如上所示,主庫(kù)已產(chǎn)生了binlog日志及記錄了當(dāng)前gtid執(zhí)行的位置。至此基于GTID同步模式的主從復(fù)制搭建完成

五、主從復(fù)制原理

在這里插入圖片描述

1、服務(wù)器開(kāi)啟二進(jìn)制日志,主服務(wù)器會(huì)把sql操作記錄通過(guò)多dump線(xiàn)程寫(xiě)入到主服務(wù)器的二進(jìn)制日志中
2、從服務(wù)器的io 線(xiàn)程向主服務(wù)器二進(jìn)制日志發(fā)送請(qǐng)求,master 服務(wù)器在接收到請(qǐng)求之后,根據(jù)偏移量將新的 binary log 發(fā)送給 slave 服務(wù)器。
3、slave 服務(wù)器收到新的 binary log 之后,寫(xiě)入到自身的 relay log 中,這就是所謂的中繼日志
4、slave 服務(wù)器,單獨(dú)開(kāi)啟一個(gè) sql thread 讀取 relay log 之后,寫(xiě)入到自身數(shù)據(jù)中

總結(jié)

本篇文章主要針對(duì)mysql5.7版本的同步模式分類(lèi)、基于gtid同步模式搭建主從寫(xiě)的文章,對(duì)于mysql的構(gòu)建安裝過(guò)程可參考頂部的鏈接文章。希望這幾篇文章可以幫助到大家

http://www.risenshineclean.com/news/54078.html

相關(guān)文章:

  • 做襪子娃娃的網(wǎng)站百度導(dǎo)航下載2022最新版
  • 合肥專(zhuān)業(yè)的房產(chǎn)網(wǎng)站建設(shè)怎么在百度發(fā)布信息
  • 網(wǎng)站建設(shè)需要注意什么百度信息流廣告推廣
  • 棋牌游戲網(wǎng)站怎么做的百度app關(guān)鍵詞優(yōu)化
  • 微信電腦網(wǎng)站是什么原因凡科網(wǎng)站建設(shè)
  • 保安公司網(wǎng)站如何做網(wǎng)站優(yōu)化要多少錢(qián)
  • 平邑網(wǎng)站定制太原seo軟件
  • cpa網(wǎng)站怎么做百度知道電腦版網(wǎng)頁(yè)入口
  • 用易語(yǔ)言做網(wǎng)站電商平臺(tái)排行榜前十名
  • 千圖主站的功能介紹網(wǎng)店運(yùn)營(yíng)推廣
  • 免費(fèi)創(chuàng)建個(gè)人網(wǎng)站上海網(wǎng)站快速優(yōu)化排名
  • 揚(yáng)州市建設(shè)局網(wǎng)站網(wǎng)站點(diǎn)擊量 哪里查詢(xún)
  • 揭陽(yáng)做網(wǎng)站的windows優(yōu)化大師收費(fèi)
  • 怎么做網(wǎng)站 高中信息技術(shù)百度搜索引擎下載免費(fèi)
  • 惠州網(wǎng)站建設(shè)推廣公司網(wǎng)絡(luò)營(yíng)銷(xiāo)師工作內(nèi)容
  • 網(wǎng)站建站視頻口碑營(yíng)銷(xiāo)案例2021
  • 跨境電商b2c是什么網(wǎng)站關(guān)鍵詞百度自然排名優(yōu)化
  • 天眼查公司信息查詢(xún)東莞seo優(yōu)化推廣
  • 自治區(qū)住房和城鄉(xiāng)建設(shè)部網(wǎng)站天津網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站用圖片怎么交換友情鏈接
  • 自己的網(wǎng)站怎么做搜索引擎制作免費(fèi)個(gè)人網(wǎng)站
  • 網(wǎng)站建設(shè)與維護(hù)筆記優(yōu)就業(yè)seo課程學(xué)多久
  • 專(zhuān)業(yè)品牌設(shè)計(jì)網(wǎng)站建設(shè)seo查詢(xún)軟件
  • 怎么生成網(wǎng)站地圖5118素材網(wǎng)站
  • 網(wǎng)站開(kāi)發(fā)實(shí)踐意義足球比賽直播2021歐冠決賽
  • acg的wordpress主題深圳百度推廣優(yōu)化
  • 主流網(wǎng)站模板網(wǎng)址查詢(xún)域名
  • java 企業(yè)網(wǎng)站開(kāi)發(fā)搜索引擎優(yōu)化簡(jiǎn)稱(chēng)seo
  • 濟(jì)南企業(yè)建站系統(tǒng)企業(yè)員工培訓(xùn)總結(jié)
  • 電子商務(wù)網(wǎng)站實(shí)例建站模板平臺(tái)