詳解mysql集群:一主多從架構實現(xiàn)
實驗環(huán)境:
1、三臺CentOS 7 服務器
2、mysql5.7.26(三臺都通過yum安裝)
服務器列表
7.100.222.111 | master |
47.103.211.5 | slave1 |
47.103.98.221 | slave2 |
如果還沒安裝mysql請看安裝教程:mysql安裝
一、概述:
架構圖:
此種架構,一般初創(chuàng)企業(yè)比較常用,也便于后面步步的擴展
特點:
1、可以緩解讀的壓力。
2、成本低,布署快速、方便
3、讀寫分離
4、還能通過及時增加從庫來減少讀庫壓力
5、主庫單點故障
6、數(shù)據(jù)一致性問題(同步延遲造成)
7、一但主機宕機就不可以進行寫操作
二、搭建集群
1、修改配置文件
分別在三臺服務器中使用如下命令修改配置文件
$ vim /etc/my.cnf
分別向三臺服務器的/etc/my.cnf mysql配置文件添加如下內容:
masetr | slave1 | slave2 |
server-id=1 #主庫開啟binlog日志 log-bin=/var/lib/mysql/mysql-bin |
server-id=2 | server-id=3 |
2、在主庫創(chuàng)建復制用戶
在mysql命令下輸入如下命令創(chuàng)建一個用戶供從庫(slave)復制主庫(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、從庫關聯(lián)主庫
使用一下命令查看主庫(master)的狀態(tài)
mysql> show master status;
輸出以下信息,當然你的可以和我的不一樣
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)
可以看到以上結果,這兒只需要看 File 和 Position,其它的兩個分別是白名單和黑名單,意思為同步哪幾個數(shù)據(jù)庫和不同步哪幾個數(shù)據(jù)庫,可自行根據(jù)需求進行設置。記錄以上前兩個字段信息后()。
分別在兩臺從庫(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í)行完畢后,在從庫上繼續(xù)執(zhí)行如下語句:
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)成功。
到此一主二從搭建完成,一主多從也是類似的安裝。你可以在主庫上創(chuàng)建一個數(shù)據(jù)庫或者一張表,從庫都會去復制。
以上所述是小編給大家介紹的mysql集群一主多從架構實現(xiàn)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網(wǎng)站的支持!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。