真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

企業(yè)-MySQL主從備份-創(chuàng)新互聯(lián)

一、mysql主從備份原理

一、雙機熱備的概念簡單說一下,就是要保持兩個數(shù)據(jù)庫的狀態(tài)自動同步。對任何一個數(shù)據(jù)庫的操作都自動應(yīng)用到另外一個數(shù)據(jù)庫,始終保持兩個數(shù)據(jù)庫中的數(shù)據(jù)一致。 這樣做有如下幾點好處:

網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);網(wǎng)站制作、成都做網(wǎng)站收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了十多年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。

1. 可以做災(zāi)備,其中一個壞了可以切換到另一個。

2. 可以做負載均衡,可以將請求分攤到其中任何一臺上,提高網(wǎng)站吞吐量。 對于異地?zé)醾?,尤其適合災(zāi)備。

二、mysql 主從備份工作原理

簡單的說就是把 一個服務(wù)器上執(zhí)行過的sql語句在別的服務(wù)器上也重復(fù)執(zhí)行一遍, 這樣只要兩個數(shù)據(jù)庫的初態(tài)是一樣的,那么它們就能一直同步。

二、實現(xiàn)方式

MYSQL主從同步是在MySQL主從復(fù)制(Master-Slave Replication)基礎(chǔ)上實現(xiàn)的,通過設(shè)置在Master上的binlog,使其處于打開狀態(tài);Slave通過一個I/O線程從Master上讀取binlog,然后傳輸?shù)?code>Slave的中繼日志中,然后使用SQL線程讀取中繼日志,并應(yīng)用到自身數(shù)據(jù)庫中,從而實現(xiàn)主從數(shù)據(jù)同步功能。

有兩個服務(wù)器,演示了從一個主服務(wù)器(master)把數(shù)據(jù)同步到從服務(wù)器(slave)的過程。

對于一個mysql服務(wù)器,一般有兩個線程來負責(zé)復(fù)制和被復(fù)制。當(dāng)開啟復(fù)制這個開關(guān)之后(start slave)

1. 作為主服務(wù)器Master,會把自己的每一次改動都記錄到 二進制日志 Binarylog 中。 (從服務(wù)器會負責(zé)來讀取這個log,然后在自己那里再執(zhí)行一遍。)

2. 作為從服務(wù)器Slave,會用master上的賬號登陸到master上,去讀取master的Binarylog, 然后寫入到自己的中繼日志Relaylog,然后自己的sql線程會負責(zé)讀取這個中繼日志,并執(zhí)行一遍。到這里主服務(wù)器上的更改就同步到從服務(wù)器上了。

在mysql上可以查看當(dāng)前服務(wù)器的主,從狀態(tài)。 其實就是當(dāng)前服務(wù)器的 Binary(作為主服務(wù)器角色)狀態(tài)和位置。以及其RelayLog(作為從服務(wù)器)的復(fù)制進度。

三、復(fù)制的過程

企業(yè) - MySQL主從備份

該過程的第一部分就是master記錄二進制日志。在每個事務(wù)更新數(shù)據(jù)完成之前,master在二日志記錄這些改變。MySQL將事務(wù)串行的 寫入二進制日志,即使事務(wù)中的語句都是交叉執(zhí)行的。在事件寫入二進制日志完成后,master通知存儲引擎提交事務(wù)。        下一步就是slave將master的binary log拷貝到它自己的中繼日志。首先,slave開始一個工作線程——I/O線程。I/O線程在master上打開一個普通的連接,然后開始binlog dump process。Binlog dump process從master的二進制日志中讀取事件,如果已經(jīng)跟上master,它會睡眠并等待master產(chǎn)生新的事件。I/O線程將這些事件寫入中 繼日志。       SQL slave thread(SQL從線程)處理該過程的最后一步。SQL線程從中繼日志讀取事件,并重放其中的事件而更新slave的數(shù)據(jù),使其與master中的數(shù) 據(jù)一致。只要該線程與I/O線程保持一致,中繼日志通常會位于OS的緩存中,所以中繼日志的開銷很小。         此外,在master中也有一個工作線程:和其它MySQL的連接一樣,slave在master中打開一個連接也會使得master開始一個線程。復(fù)制 過程有一個很重要的限制——復(fù)制在slave上是串行化的,也就是說master上的并行更新操作不能在slave上并行操作。

實驗

實驗環(huán)境

server2  master

server3  slave

master上下載包

mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar

安裝數(shù)據(jù)庫

[root@server2~]# yum install -y mysql-community-client-5.7.17-1.el6.x86_64.rpm mysql-community-common-5.7.17-1.el6.x86_64.rpm mysql-community-libs-5.7.17-1.el6.x86_64.rpm mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpm mysql-community-server-5.7.17-1.el6.x86_64.rpm

企業(yè) - MySQL主從備份

[root@server3 ~]# yum install -y *

修改mysql的配置文件

[root@server2 ~]# vim /etc/my.cnf

server-id = n

給服務(wù)器分配一個唯一的ID編號

log-bin [= filename]

把對數(shù)據(jù)進行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二進制格式記入日志(二進制變更日志,binary update log)。這種日志的文件名是filename.n或默認的hostname.n,其中n是一個6位數(shù)字的整數(shù)(日志文件按順序編號)。


企業(yè) - MySQL主從備份

開啟服務(wù)

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

修改slave配置文件

server-id = n

給服務(wù)器分配一個唯一的ID編號

[root@server3 ~]# vim /etc/my.cnf

企業(yè) - MySQL主從備份

開啟服務(wù)

企業(yè) - MySQL主從備份

查看密碼

企業(yè) - MySQL主從備份

安全配置向?qū)?/strong>

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

如下方法修改slave密碼

mysql> alter user root@localhost identified by 'LH=redhat123';

企業(yè) - MySQL主從備份

master上進行授權(quán)

mysql> grant replication slave on *.* to cara@'192.168.122.13' identified by 'LH@redhat123' ;     用戶授權(quán)

mysql> flush privileges; 刷新

企業(yè) - MySQL主從備份

master授權(quán)后,slave可以遠程登錄

企業(yè) - MySQL主從備份

master端查看

企業(yè) - MySQL主從備份

使 slave 與 master 建立連接,從而同步:
mysql> change master to master_host='192.168.122.12',master_user='cara',master_password='LH=redhat123',master_log_file='mysql-bin.000003',master_log_pos=1706;

slave端 mysql -p 登錄

企業(yè) - MySQL主從備份

查看

[root@server3 mysql]# pwd
/var/lib/mysql
[root@server3 mysql]# cat master.info

企業(yè) - MySQL主從備份

[root@server3 mysql]# cat server3-relay-bin.index

企業(yè) - MySQL主從備份

mysql> show slave status\G; 查看slave狀態(tài)

企業(yè) - MySQL主從備份

mysql> start slave; 開啟slave

企業(yè) - MySQL主從備份

創(chuàng)建庫westos,創(chuàng)建表usertb

企業(yè) - MySQL主從備份

在表中插入數(shù)據(jù)

企業(yè) - MySQL主從備份

更改密碼

企業(yè) - MySQL主從備份

刪除表中數(shù)據(jù)

企業(yè) - MySQL主從備份

[root@server2 mysql]# mysqlbinlog mysql-bin.000003  可查看master所做的操作

企業(yè) - MySQL主從備份

在slave上也可查看master上數(shù)據(jù)

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

深入了解復(fù)制-全局事務(wù)標識符(GTID)

1)什么是GTID

GTID(Global Transaction ID)是對于一個已提交事務(wù)的編號,并且是一個全局唯一的編號。GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標 識,保存在mysql數(shù)據(jù)目錄下的auto.cnf文件里。TID代表了該實例上已經(jīng)提交的事務(wù)數(shù)量,并且隨著事務(wù)提交單調(diào)遞增。下面是一個GTID的具 體形式:3E11FA47-71CA-11E1-9E33-C80AA9429562:23。

2)GTID的作用

根據(jù)GTID可以知道事務(wù)最初是在哪個實例上提交的

GTID的存在方便了Replication的Failover

3)GTID比傳統(tǒng)復(fù)制的優(yōu)勢

更簡單的實現(xiàn)failover,不用以前那樣在需要找log_file和log_Pos。

更簡單的搭建主從復(fù)制。

比傳統(tǒng)復(fù)制更加安全。

GTID是連續(xù)沒有空洞的,因此主從庫出現(xiàn)數(shù)據(jù)沖突時,可以用添加空事物的方式進行跳過。

4)GTID的工作原理:

master更新數(shù)據(jù)時,會在事務(wù)前產(chǎn)生GTID,一同記錄到binlog日志中。

slave端的i/o線程將變更的binlog,寫入到本地的relay log中。

sql線程從relay log中獲取GTID,然后對比slave端的binlog是否有記錄。

如果有記錄,說明該GTID的事務(wù)已經(jīng)執(zhí)行,slave會忽略。

如果沒有記錄,slave就會從relay log中執(zhí)行該GTID的事務(wù),并記錄到binlog。

在解析過程中會判斷是否有主鍵,如果沒有就用二級索引,如果沒有就用全部掃描。

先關(guān)掉slave

企業(yè) - MySQL主從備份

修改配置文件/etc/my.cof

master

企業(yè) - MySQL主從備份

slave

企業(yè) - MySQL主從備份

重啟服務(wù)

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

更錄數(shù)據(jù)庫,查看

master

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

slave

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

change master to master_host='192.168.122.12',master_user='cara',master_password='LH=redhat123',master_auto_position=1;

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

    --------------------------------------------------------------------master端--------------------------------------------------------------------

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

--------------------------------------------------------------------slave端--------------------------------------------------------------------

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

企業(yè) - MySQL主從備份

另外有需要云服務(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)用場景需求。


網(wǎng)頁名稱:企業(yè)-MySQL主從備份-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/isjee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部