av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

循序漸進(jìn)學(xué)習(xí)如何在MariaDB中配置主從復(fù)制?

在我們前面的教程中,我們已經(jīng)學(xué)習(xí)了 如何安裝和配置 MariaDB,也學(xué)習(xí)了 管理 MariaDB 的一些基礎(chǔ)命令?,F(xiàn)在我們來(lái)學(xué)習(xí),如何在 MariaDB 服務(wù)器上配置一個(gè)主從復(fù)制。

新邱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

復(fù)制是用于為我們的數(shù)據(jù)庫(kù)創(chuàng)建多個(gè)副本,這些副本可以在其它數(shù)據(jù)庫(kù)上用于運(yùn)行查詢(xún),像一些非常繁重的查詢(xún)可能會(huì)影響主數(shù)據(jù)庫(kù)服務(wù)器的性能,或者我們可以使用它來(lái)做數(shù)據(jù)冗余,或者兼具以上兩個(gè)目的。我們可以將這個(gè)過(guò)程自動(dòng)化,即主服務(wù)器到從服務(wù)器的復(fù)制過(guò)程自動(dòng)進(jìn)行。執(zhí)行備份而不影響在主服務(wù)器上的寫(xiě)操作。

因此,我們現(xiàn)在去配置我們的主-從復(fù)制,它需要兩臺(tái)安裝了 MariaDB 的機(jī)器。它們的 IP 地址如下:

  • 主服務(wù)器 - 192.168.1.120 主機(jī)名 - master.ltechlab.com
  • 從服務(wù)器 - 192.168.1.130 主機(jī)名 - slave.ltechlab.com

MariaDB 安裝到這些機(jī)器上之后,我們繼續(xù)進(jìn)行本教程。如果你需要安裝和配置 MariaDB 的教程,請(qǐng)查看這個(gè)教程

第 1 步 - 主服務(wù)器配置

我們現(xiàn)在進(jìn)入到 MariaDB 中的一個(gè)命名為 important 的數(shù)據(jù)庫(kù),它將被復(fù)制到我們的從服務(wù)器。為開(kāi)始這個(gè)過(guò)程,我們編輯名為 /etc/my.cnf 的文件,它是 MariaDB 的配置文件。

 
 
 
  1. $ vi /etc/my.cnf

在這個(gè)文件中找到 [mysqld] 節(jié),然后輸入如下內(nèi)容:

 
 
 
  1. [mysqld]
  2. log-bin
  3. server_id=1
  4. replicate-do-db=important
  5. bind-address=192.168.1.120

保存并退出這個(gè)文件。完成之后,需要重啟 MariaDB 服務(wù)。

 
 
 
  1. $ systemctl restart mariadb

接下來(lái),我們登入我們的主服務(wù)器上的 Mariadb 實(shí)例。

 
 
 
  1. $ mysql -u root -p

在它上面創(chuàng)建一個(gè)命名為 slaveuser 的為主從復(fù)制使用的新用戶(hù),然后運(yùn)行如下的命令為它分配所需要的權(quán)限:

 
 
 
  1. STOP SLAVE;
  2. GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'iamslave';
  3. FLUSH PRIVILEGES;
  4. FLUSH TABLES WITH READ LOCK;
  5. SHOW MASTER STATUS;

注意: 我們配置主從復(fù)制需要 MASTER_LOG_FILEMASTER_LOG_POS 的值,它可以通過(guò) show master status 來(lái)獲得,因此,你一定要確保你記下了它們的值。

這些命令運(yùn)行完成之后,輸入 exit 退出這個(gè)會(huì)話(huà)。

第 2 步 - 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)備份,并將它移動(dòng)到從服務(wù)器上

現(xiàn)在,我們需要去為我們的數(shù)據(jù)庫(kù) important 創(chuàng)建一個(gè)備份,可以使用 mysqldump 命令去備份。

 
 
 
  1. $ mysqldump -u root -p important > important_backup.sql

備份完成后,我們需要重新登錄到 MariaDB 數(shù)據(jù)庫(kù),并解鎖我們的表。

 
 
 
  1. $ mysql -u root -p
  2. $ UNLOCK TABLES;

然后退出這個(gè)會(huì)話(huà)?,F(xiàn)在,我們移動(dòng)我們剛才的備份到從服務(wù)器上,它的 IP 地址是:192.168.1.130。

在主服務(wù)器上的配置已經(jīng)完成了,現(xiàn)在,我們開(kāi)始配置從服務(wù)器。

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

我們?cè)俅稳ゾ庉嫞◤姆?wù)器上的) /etc/my.cnf 文件,找到配置文件中的 [mysqld] 節(jié),然后輸入如下內(nèi)容:

 
 
 
  1. [mysqld]
  2. server-id = 2
  3. replicate-do-db=important
  4. [ …]

現(xiàn)在,我們恢復(fù)我們主數(shù)據(jù)庫(kù)的備份到從服務(wù)器的 MariaDB 上,運(yùn)行如下命令:

 
 
 
  1. $ mysql -u root -p < /data/ important_backup.sql

當(dāng)這個(gè)恢復(fù)過(guò)程結(jié)束之后,我們將通過(guò)登入到從服務(wù)器上的 MariaDB,為數(shù)據(jù)庫(kù) important 上的用戶(hù) 'slaveuser' 授權(quán)。

 
 
 
  1. $ mysql -u root -p
 
 
 
  1. GRANT ALL PRIVILEGES ON important.* TO 'slaveuser'@'localhost' WITH GRANT OPTION;
  2. FLUSH PRIVILEGES;

接下來(lái),為了這個(gè)變化生效,重啟 MariaDB。

 
 
 
  1. $ systemctl restart mariadb

 

第 4 步:?jiǎn)?dòng)復(fù)制

記住,我們需要 MASTER_LOG_FILEMASTER_LOG_POS 變量的值,它可以通過(guò)在主服務(wù)器上運(yùn)行 SHOW MASTER STATUS 獲得?,F(xiàn)在登入到從服務(wù)器上的 MariaDB,然后通過(guò)運(yùn)行下列命令,告訴我們的從服務(wù)器它應(yīng)該去哪里找主服務(wù)器。

 
 
 
  1. STOP SLAVE;
  2. CHANGE MASTER TO MASTER_HOST= '192.168.1.110′, MASTER_USER='slaveuser', MASTER_PASSWORD='iamslave', MASTER_LOG_FILE='mariadb-bin.000001′, MASTER_LOG_POS=460;
  3. SLAVE START;
  4. SHOW SLAVE STATUS\G;

注意: 請(qǐng)根據(jù)你的機(jī)器的具體情況來(lái)改變主服務(wù)器的配置。

第 5 步:測(cè)試復(fù)制

我們將在我們的主服務(wù)器上創(chuàng)建一個(gè)新表來(lái)測(cè)試主從復(fù)制是否正常工作。因此,登入到主服務(wù)器上的 MariaDB。

 
 
 
  1. $ mysql -u root -p

選擇數(shù)據(jù)庫(kù)為 important

 
 
 
  1. use important;

在這個(gè)數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)名為 test 的表:

 
 
 
  1. create table test (c int);

然后在這個(gè)表中插入一些數(shù)據(jù):

 
 
 
  1. insert into test (c) value (1);

檢索剛才插入的值是否存在:

 
 
 
  1. select * from test;

你將會(huì)看到剛才你插入的值已經(jīng)在這個(gè)新建的表中了。

現(xiàn)在,我們登入到從服務(wù)器的數(shù)據(jù)庫(kù)中,查看主從復(fù)制是否正常工作。

 
 
 
  1. $ mysql -u root -p
  2. $ use important;
  3. $ select * from test;

你可以看到與前面在主服務(wù)器上的命令輸出是一樣的。因此,說(shuō)明我們的主從服務(wù)工作正常,沒(méi)有發(fā)生任何問(wèn)題。


分享文章:循序漸進(jìn)學(xué)習(xí)如何在MariaDB中配置主從復(fù)制?
文章鏈接:http://uogjgqi.cn/article/dpcjsoo.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流