电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL數(shù)據(jù)讀寫分離MaxScale相關(guān)配置

瀏覽:6日期:2023-06-28 19:41:17
目錄一、概念:二、實(shí)現(xiàn)讀寫分離的拓?fù)鋱D:三、MaxScale相關(guān)配置:四、讀寫分離的配置流程:五、實(shí)操:第一步:配置Mysql服務(wù)器一主一從第二步:配置代理服務(wù)器(讀寫分離服務(wù)器)第三步:啟動讀寫分離服務(wù)第四步:測試配置讀寫分離服務(wù)的配置第五步:驗(yàn)證補(bǔ)充說明一、概念:MySQL數(shù)據(jù)讀寫分離是存儲數(shù)據(jù)的一種服務(wù)架構(gòu)執(zhí)行select命令必須連接 slave角色服務(wù)器執(zhí)行insert命令必須連接 maste角色服務(wù)器提供數(shù)據(jù)讀寫分離功能的中間件軟件有: mysql-proxy maxscale mycat拓?fù)浼軜?gòu)只支持一主一從或者一主多從架構(gòu)二、實(shí)現(xiàn)讀寫分離的拓?fù)鋱D:

三、MaxScale相關(guān)配置:指令/路徑/...說明maxscale-2.1.2-1.rhel.7.x86_64.rpm軟件包/etc/maxscale.cnf主配置文件maxscale /etc/maxscale.cnf啟動服務(wù)/var/log/maxscale/maxscale.log日志路徑(可查看報(bào)錯信息)4006讀寫分離服務(wù)使用端口號4016管理服務(wù)使用端口號四、讀寫分離的配置流程:配置Mysql服務(wù)器一主一從配置代理服務(wù)器(讀寫分離服務(wù)器)啟動讀寫分離服務(wù)客戶機(jī)50測試配置讀寫分離服務(wù)的配置五、實(shí)操:第一步:配置Mysql服務(wù)器一主一從把host61配置為master數(shù)據(jù)庫服務(wù)器[root@host61 ~]# vim /etc/my.cnf[mysqld]Server_id = 61log_bin=master61:wq[root@host61 ~]# systemctl restart mysqld[root@host61 ~]# mysql -uroot –p123qqq...AMysql> grant replication slave on *.* to repluser@'%' identified by '123qqq...A';Mysql> show master status ;+-----------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+-----------------+----------+--------------+------------------+-------------------+| master61.000001 | 441 | | | |+-----------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)把host62 配置為slave數(shù)據(jù)庫服務(wù)器[root@host62 ~]# vim /etc/my.cnf[mysqld]Server_id = 62:wq[root@host62 ~]# systemctl restart mysqld[root@host62 ~]# mysql -uroot -p密碼Mysql> change master to master_host='192.168.88.61' ,Master_user='repluser' , Master_password='123qqq...A' ,Master_log_file='master61.000001' ,Master_log_pos=441 ;Mysql> start slave;Mysql> show slave status \G Slave_IO_Running: Yes Slave_SQL_Running: Yes第二步:配置代理服務(wù)器(讀寫分離服務(wù)器)安裝軟件[root@host60 ~]# yum -y install maxscale-2.1.2-1.rhel.7.x86_64.rpm 修改主配置文件[root@host60 ~]# cp /etc/maxscale.cnf /root/ 備份主配置文件[root@host60 ~]# vim /etc/maxscale.cnf[maxscale]threads=auto # 服務(wù)啟動后線程的數(shù)量,根據(jù)CPU 核數(shù)創(chuàng)建[server1] type=serveraddress=192.168.88.61 # 指定第1臺數(shù)據(jù)庫服務(wù)器的ip地址port=3306protocol=MySQLBackend[server2] type=serveraddress=192.168.88.62 # 指定第2臺數(shù)據(jù)庫服務(wù)器的ip地址port=3306protocol=MySQLBackend[MySQL Monitor] # 定義監(jiān)視的數(shù)據(jù)庫服務(wù)器type=monitormodule=mysqlmonservers=server1,server2 # 監(jiān)視server1和server2user=mysqla # 監(jiān)控用戶賬號passwd=123qqq...A # 監(jiān)控用戶連接密碼monitor_interval=10000#禁止只讀服務(wù)(注釋)#[Read-Only Service]#type=service#router=readconnroute#servers=server1#user=myuser#passwd=mypwd#router_options=slave[Read-Write Service] # 啟用讀寫分離服務(wù)type=servicerouter=readwritesplitservers=server1,server2 # 讀寫分離在server1和server2服務(wù)器之間進(jìn)行user=mysqlb # 路由用戶passwd=123qqq...A # 連接密碼max_slave_connections=100%[MaxAdmin Service] # 管理服務(wù)(通過訪問管理服務(wù)可以查看監(jiān)控信息)type=servicerouter=cli# 因?yàn)橹蛔x服務(wù)沒有啟用 ,不需要定義服務(wù)使用的端口號(注釋)#[Read-Only Listener]#type=listener#service=Read-Only Service#protocol=MySQLClient#port=4008[Read-Write Listener] # 定義讀寫分離服務(wù)使用端口號type=listenerservice=Read-Write Serviceprotocol=MySQLClientport=4006 # 端口號[MaxAdmin Listener] # 定義管理服務(wù)使用端口號type=listenerservice=MaxAdmin Serviceprotocol=maxscaledsocket=defaultport=4016 # 端口號:wq配置數(shù)據(jù)庫服務(wù)器(在數(shù)據(jù)庫服務(wù)器上添加監(jiān)控用戶和路由用戶)注意:因?yàn)槭侵鲝慕Y(jié)構(gòu) ,所以只需要在主服務(wù)器添加,從服務(wù)器會自動同步[root@host61 ~]# mysql -uroot -p123qqq...A # 添加監(jiān)控用戶 mysqla 用戶mysql> grant replication slave , replication client on *.* to mysqla@'%' identified by '123qqq...A';# 權(quán)限說明:# replication client 監(jiān)視數(shù)據(jù)庫服務(wù)的運(yùn)行狀態(tài) # replication slave 數(shù)據(jù)庫服務(wù)器的主從角色 # 添加路由用戶 mysqlb 用戶mysql> grant select on mysql.* to mysqlb@'%' identified by '123qqq...A'; # 對授權(quán)庫下的表有查詢權(quán)限# 在從服務(wù)器查看用戶是否同步[root@host62 ~]# mysql -uroot -p123qqq...A select user from mysql.user where user='mysqla';select user from mysql.user where user='mysqlb';第三步:啟動讀寫分離服務(wù)驗(yàn)證數(shù)據(jù)庫服務(wù)器的授權(quán)用戶 mysqla 和 mysqlb# 安裝提供mysql命令的軟件[root@host60 ~]# which mysql || yum -y install mariadb [root@host60 ~]# mysql -h192.168.88.61 -umysqla -p123qqq...A[root@host60 ~]# mysql -h192.168.88.62 -umysqla -p123qqq...A[root@host60 ~]# mysql -h192.168.88.61 -umysqlb -p123qqq...A[root@host60 ~]# mysql -h192.168.88.62 -umysqlb -p123qqq...A# 說明:能連接成功才是對的,如果連接失敗:執(zhí)行如下操作# 在主數(shù)據(jù)庫服務(wù)器host61 把添加 mysqla用戶 和 mysqlb 用戶的命令再執(zhí)行一遍# 啟動服務(wù) [root@host60 ~]# maxscale /etc/maxscale.cnf # 查看日志文件[root@host60 ~]# ls /var/log/maxscale/ maxscale.log # 查看讀寫分離服務(wù)端口號[root@host60 ~]# netstat -utnlp | grep 4006 tcp6 0 0 :::4006 :::* LISTEN 1580/maxscale # 查看讀寫分離服務(wù)端口號[root@host60 ~]# netstat -utnlp | grep 4016 tcp6 0 0 :::4016 :::*LISTEN 1580/maxscale #把服務(wù)殺死 再啟動 相當(dāng)于重啟服務(wù) (修改了配置文件后要重啟服務(wù)使其配置生效)# 通過殺進(jìn)程的方式停止服務(wù) [root@host60 ~]# killall -9 maxscale # 啟動服務(wù)[root@host60 ~]# maxscale /etc/maxscale.cnf # 在host60本機(jī)訪問管理服務(wù)查看數(shù)據(jù)庫服務(wù)的監(jiān)控信息[root@host60 ~]# maxadmin -uadmin -pmariadb -P4016MaxScale> list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | 192.168.88.61 | 3306 | 0 | Master, Runningserver2 | 192.168.88.62 | 3306 | 0 | Slave, Running-------------------+-----------------+-------+-------------+--------------------MaxScale> exit 排錯方法 : 查看日志里的報(bào)錯信息 vim /var/log/maxscale/maxscale.log第四步:測試配置讀寫分離服務(wù)的配置客戶端能夠連接讀寫分離服務(wù)器訪問數(shù)據(jù)庫服務(wù)# 首先在主數(shù)據(jù)庫服務(wù)器host61 添加客戶端連接使用的用戶[root@host61 ~]# mysql -uroot -p密碼 create database bbsdb;create table bbsdb.a(id int);grant select,insert on bbsdb.* to yaya@'%' identified by '123qqq...A';# 在從服務(wù)器host62查看存儲數(shù)據(jù)庫表和添加用戶[root@host62 ~]# mysql -uroot -p密碼desc bbsdb.a;select user from mysql.user where user='yaya';# 客戶端host50連接讀寫分離服務(wù)器host60訪問數(shù)據(jù)庫服務(wù)mysql -h讀寫分離服務(wù)器的ip -P讀寫分離服務(wù)的端口號 -u數(shù)據(jù)庫授權(quán)用戶名 -p密碼 [root@host50 ~]# mysql -h192.168.88.60 -P4006 -uyaya -p123qqq...A 連接讀寫分離服務(wù)后,可以對數(shù)據(jù)做查詢和存儲操作mysql> select * from bbsdb.a;Empty set (0.00 sec)mysql> insert into bbsdb.a values(8888);Query OK, 1 row affected (0.06 sec)mysql> select * from bbsdb.a;+------+| id |+------+| 8888 |+------+1 row in set (0.00 sec)第五步:驗(yàn)證怎么驗(yàn)證查詢select 訪問就在host62從服務(wù)器獲取的數(shù)據(jù)呢?在從服務(wù)本機(jī)向表里添加1條記錄(在從服務(wù)添加的新數(shù)據(jù)主服務(wù)器不會同步)# 從服務(wù)器插入1條數(shù)據(jù)[root@host62 ~]# mysql -uroot -p123qqq...A -e 'insert into bbsdb.a values(6262)'[root@host62 ~]# mysql -uroot -p123qqq...A -e 'select * from bbsdb.a'mysql: [Warning] Using a password on the command line interface can be insecure.+------+| id |+------+| 8888 || 6262 |+------+# 主服務(wù)器查詢[root@host11 ~]# mysql -uroot -p123qqq...a -e 'select * from bbsdb.a'mysql: [Warning] Using a password on the command line interface can be insecure.+------+| id |+------+| 8888 |+------+# 客戶端訪問讀寫分離服務(wù)器查詢數(shù)據(jù)(查詢結(jié)果為從服務(wù)器數(shù)據(jù)源)[root@host50 ~]# mysql -h192.168.88.60 -P4006 -uyaya -p123qqq...A -e 'select * from bbsdb.a'mysql: [Warning] Using a password on the command line interface can be insecure.+------+| id |+------+| 8888 || 6262 |+------+怎么驗(yàn)證存儲數(shù)據(jù)insert 訪問 就是存儲在了主機(jī)服務(wù)器host61上?# 客戶端機(jī)插入數(shù)據(jù)[root@host50 ~]# mysql -h192.168.88.60 -P4006 -uyaya -p123qqq...A -e 'insert into bbsdb.a values(666)' # 在主服務(wù)器本機(jī)查看數(shù)據(jù)[root@host61 ~]# mysql -uroot -p123qqq...a -e 'select * from bbsdb.a'mysql: [Warning] Using a password on the command line interface can be insecure.+------+| id |+------+| 8888 || 666 |+------+[root@host50 ~]# mysql -h192.168.88.60 -P4006 -uyaya -p123qqq...A -e 'select * from bbsdb.a'mysql: [Warning] Using a password on the command line interface can be insecure.+------+| id |+------+| 8888 || 6262 || 666 |+------+還可以通過查看主服務(wù)器的position是否在客戶端服務(wù)器插入數(shù)據(jù)后改動來確定是不是在主服務(wù)器中進(jìn)行操作過數(shù)據(jù)補(bǔ)充說明如果主從結(jié)構(gòu)中的從服務(wù)器宕機(jī)了,就實(shí)現(xiàn)不了讀寫分離了,會把讀寫請求都給主服務(wù)器處理。如果主從結(jié)構(gòu)中的主服務(wù)器宕機(jī)了,讀寫分離服務(wù)無法訪問

以上就是MySQL數(shù)據(jù)讀寫分離MaxScale相關(guān)配置的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)讀寫分離MaxScale的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫
主站蜘蛛池模板: 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 上海阳光泵业制造有限公司 -【官方网站】 | led冷热冲击试验箱_LED高低温冲击试验箱_老化试验箱-爱佩百科 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | uv机-uv灯-uvled光固化机-生产厂家-蓝盾机电| 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 |