溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL中怎么搭建讀寫分離環(huán)境

發(fā)布時(shí)間:2021-07-28 17:37:50 來源:億速云 閱讀:174 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)MySQL中怎么搭建讀寫分離環(huán)境,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

主機(jī)配置

主機(jī)的配置就三個(gè)步驟,比較容易:

1.授權(quán)給從機(jī)服務(wù)器

GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.248.139' identified by '123';FLUSH PRIVILEGES;

這里表示配置從機(jī)登錄用戶名為 rep1,密碼為 123,并且必須從 192.168.248.139這個(gè)地址登錄,登錄成功之后可以操作任意庫(kù)中的任意表。其中,如果不需要限制登錄地址,可以將 IP 地址更換為一個(gè) %。

2.修改主庫(kù)配置文件,開啟 binlog ,并設(shè)置 server-id ,每次修改配置文件后都要重啟 MySQL 服務(wù)才會(huì)生效

vi /etc/my.cnf

修改的文件內(nèi)容如下:

[mysqld]log-bin=/var/lib/mysql/binlogserver-id=128binlog-do-db = cmdb

如下圖:

MySQL中怎么搭建讀寫分離環(huán)境

?log-bin:同步的日志路徑及文件名,一定注意這個(gè)目錄要是 MySQL 有權(quán)限寫入的(我這里是偷懶了,直接放在了下面那個(gè)datadir下面)。?binlog-do-db:要同步的數(shù)據(jù)庫(kù)名,當(dāng)從機(jī)連上主機(jī)后,只有這里配置的數(shù)據(jù)庫(kù)才會(huì)被同步,其他的不會(huì)被同步。?server-id: MySQL 在主從環(huán)境下的唯一標(biāo)志符,給個(gè)任意數(shù)字,注意不能和從機(jī)重復(fù)。

配置完成后重啟 MySQL 服務(wù)端:

systemctl restart mysqld

3.查看主服務(wù)器當(dāng)前二進(jìn)制日志名和偏移量,這個(gè)操作的目的是為了在從數(shù)據(jù)庫(kù)啟動(dòng)后,從這個(gè)點(diǎn)開始進(jìn)行數(shù)據(jù)的恢復(fù):

show master status;

MySQL中怎么搭建讀寫分離環(huán)境

至此,主機(jī)配置完成。

從機(jī)配置

從機(jī)的配置也比較簡(jiǎn)單,我們一步一步來看:

1.在/etc/my.cnf 添加下面配置:

MySQL中怎么搭建讀寫分離環(huán)境

注意從機(jī)這里只需要配置一下 server-id 即可。

注意:如果從機(jī)是從主機(jī)復(fù)制來的,即我們通過復(fù)制 CentOS 虛擬機(jī)獲取了 MySQL 實(shí)例 ,此時(shí)兩個(gè) MySQL 的 uuid 一樣(正常安裝是不會(huì)相同的),這時(shí)需要手動(dòng)修改,修改位置在 /var/lib/mysql/auto.cnf ,注意隨便修改這里幾個(gè)字符即可,但也不可太過于隨意,例如修改了 uuid 的長(zhǎng)度。

2.使用命令來配置從機(jī):

change master to master_host='192.168.248.128',master_port=3306,master_user='rep1',master_password='123',master_log_file='binlog.000001',master_log_pos=120;

這里配置了主機(jī)地址、端口以及從機(jī)登錄主機(jī)的用戶名和密碼,注意最后兩個(gè)參數(shù)要和 master 中的保持一致。

3.啟動(dòng) slave 進(jìn)程

start slave;

啟動(dòng)之后查看從機(jī)狀態(tài):

show slave status\G;

MySQL中怎么搭建讀寫分離環(huán)境

4.查看 slave 的狀態(tài)

主要是下面兩項(xiàng)值都要為為 YES,則表示配置正確:

Slave_IO_Running: YesSlave_SQL_Running: Yes

關(guān)于MySQL中怎么搭建讀寫分離環(huán)境就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI