詳解mysql集群:一主多從架構(gòu)實(shí)現(xiàn)
實(shí)驗(yàn)環(huán)境:
1、三臺(tái)CentOS 7 服務(wù)器
2、mysql5.7.26(三臺(tái)都通過(guò)yum安裝)
服務(wù)器列表
| 7.100.222.111 | master |
| 47.103.211.5 | slave1 |
| 47.103.98.221 | slave2 |
如果還沒(méi)安裝mysql請(qǐng)看安裝教程:mysql安裝
一、概述:
架構(gòu)圖:

此種架構(gòu),一般初創(chuàng)企業(yè)比較常用,也便于后面步步的擴(kuò)展
特點(diǎn):
1、可以緩解讀的壓力。
2、成本低,布署快速、方便
3、讀寫(xiě)分離
4、還能通過(guò)及時(shí)增加從庫(kù)來(lái)減少讀庫(kù)壓力
5、主庫(kù)單點(diǎn)故障
6、數(shù)據(jù)一致性問(wèn)題(同步延遲造成)
7、一但主機(jī)宕機(jī)就不可以進(jìn)行寫(xiě)操作
二、搭建集群
1、修改配置文件
分別在三臺(tái)服務(wù)器中使用如下命令修改配置文件
$ vim /etc/my.cnf
分別向三臺(tái)服務(wù)器的/etc/my.cnf mysql配置文件添加如下內(nèi)容:
| masetr | slave1 | slave2 |
|
server-id=1 #主庫(kù)開(kāi)啟binlog日志 log-bin=/var/lib/mysql/mysql-bin |
server-id=2 | server-id=3 |
2、在主庫(kù)創(chuàng)建復(fù)制用戶
在mysql命令下輸入如下命令創(chuàng)建一個(gè)用戶供從庫(kù)(slave)復(fù)制主庫(kù)(master)
mysql> grant replication slave on *.* to 'test'@'%' identified by '123456'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
3、從庫(kù)關(guān)聯(lián)主庫(kù)
使用一下命令查看主庫(kù)(master)的狀態(tài)
mysql> show master status;
輸出以下信息,當(dāng)然你的可以和我的不一樣
mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000002 | 5141037 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
可以看到以上結(jié)果,這兒只需要看 File 和 Position,其它的兩個(gè)分別是白名單和黑名單,意思為同步哪幾個(gè)數(shù)據(jù)庫(kù)和不同步哪幾個(gè)數(shù)據(jù)庫(kù),可自行根據(jù)需求進(jìn)行設(shè)置。記錄以上前兩個(gè)字段信息后()。
分別在兩臺(tái)從庫(kù)(slave)上操作如下命令:
mysql> change master to master_host='47.100.222.111', master_port=3306, master_user='test', master_password='123456', master_log_file='mysql-bin.000002', master_log_pos=5141037; mysql> flush privileges; mysql> slave start;
執(zhí)行完畢后,在從庫(kù)上繼續(xù)執(zhí)行如下語(yǔ)句:
mysql> show slave status\G;
輸出如下信息:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 47.100.225.121
Master_User: helper
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 5141037
Relay_Log_File: slave1-relay-bin.000003
Relay_Log_Pos: 5140628
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
----------以下省略
如果 Slave_IO_Running: 和Slave_SQL_Running: 都為YES那證明配置已經(jīng)成功。
到此一主二從搭建完成,一主多從也是類似的安裝。你可以在主庫(kù)上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)或者一張表,從庫(kù)都會(huì)去復(fù)制。
以上所述是小編給大家介紹的mysql集群一主多從架構(gòu)實(shí)現(xiàn)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
php中如何將圖片儲(chǔ)存在數(shù)據(jù)庫(kù)里
php中如何將圖片儲(chǔ)存在數(shù)據(jù)庫(kù)里...2007-03-03
mysql 5.7.17 安裝配置方法圖文教程(CentOS7)
這篇文章主要為大家詳細(xì)介紹了CentOS7下mysql 5.7.17 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-12-12
MySQL主從同步機(jī)制與同步延時(shí)問(wèn)題追查過(guò)程
這篇文章主要給大家介紹了關(guān)于MySQL主從同步機(jī)制與同步延時(shí)問(wèn)題追查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
win10 安裝mysql 8.0.18-winx64的步驟詳解
這篇文章主要介紹了win10 安裝mysql 8.0.18-winx64的步驟,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
ubuntu20.04?安裝?MySQL5.7過(guò)程記錄
這篇文章主要介紹了ubuntu20.04?安裝?MySQL5.7過(guò)程記錄的相關(guān)資料,需要的朋友可以參考下2022-10-10
Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼
Mysql命令行導(dǎo)入sql數(shù)據(jù)的實(shí)現(xiàn)方法是我們經(jīng)常會(huì)用到的,下面就為你詳細(xì)介紹Mysql命令行導(dǎo)入sql數(shù)據(jù)的方法步驟,希望對(duì)您學(xué)習(xí)Mysql命令行方面能有所幫助。2010-12-12
SQL中日期與字符串互相轉(zhuǎn)換操作實(shí)例
我們經(jīng)常出于某種目的需要使用各種各樣的日期格式,當(dāng)然我們可以使用字符串操作來(lái)構(gòu)造各種日期格式,下面這篇文章主要給大家介紹了關(guān)于SQL中日期與字符串互相轉(zhuǎn)換操作的相關(guān)資料,需要的朋友可以參考下2022-10-10
Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫(kù)
這篇文章主要介紹了Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫(kù),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-05-05

