999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實現(xiàn)MySQL群集讀寫分離

2020-12-29 18:53:19河南郭建偉
網(wǎng)絡(luò)安全和信息化 2020年5期
關(guān)鍵詞:定義數(shù)據(jù)庫信息

■ 河南 郭建偉

編者按:MyCat是一個新穎的數(shù)據(jù)庫中間件,其支持事務(wù)和ACID,可以替代MySQL的加強版數(shù)據(jù)庫,可以實現(xiàn)企業(yè)級MySQL數(shù)據(jù)庫集群,是融合了內(nèi)存緩存技術(shù)、NoSQL技術(shù)和HDFS大數(shù)據(jù)的新型SQL Server,結(jié)合傳統(tǒng)數(shù)據(jù)庫和新型分布式數(shù)據(jù)倉庫的新一代企業(yè)級數(shù)據(jù)庫產(chǎn)品。

安裝和配置MyCat

在安裝MyCat之前,首先需要執(zhí)行“vi/etc/hosts”命令,將所有相關(guān)主機名和IP地址綁定起來。之后下載Sun JDK組件,例如執(zhí)行“tar zxvf/jdk-8u171-linux-x64.tar.gz”命令將其解壓。

之后下載MyCat組件,執(zhí)行“tar zxvf Mycatserver-1.x-linux.tar.gz”命令,將其解壓,其中的“x”表示具體的版本信息。這里將JDK和MyCat均解壓到“/mysql/app”目錄中。執(zhí)行“vi~/.bashrc”命令,輸入“export JAVA_HOME=/mysql/app/jdk1.8.0_171”,“expo rt$JAVA_HOME/bin:$PATH”行,來設(shè)置環(huán)境變量,注意這是將這些環(huán)境變量權(quán)限控制到當前用戶級別。

執(zhí)行“vi/etc/profile”命令,輸入“export JAVA_HO ME=/mysql/app/jdk1.8.0_1 71”,“export JRE_HOME=$JA VA_HOME/jre”,“export MYC AT_HOME=/mysql/app/mycat”,“export CLASSPATH=.:$J AVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH”,“export PATH=$JAVA_HOME/bin:$MYCAT_HOME:$JRE_HOME/bin:$PATH”等行,設(shè)置針對所有用戶的環(huán)境變量。

執(zhí)行“java -version”命令,查看Java版本信息。執(zhí)行“groupadd mycat”,“useradd -g mycat mycat”,“cd/mysql/app”,“chrown-R mycat mycat/mysql/app/mycat ”,“pass mycat”等命令,來創(chuàng)建所需的用戶組和賬戶信息。進入MyCat安裝路徑下的“bin”目錄,執(zhí)行“./startup_nowrap.sh”命令,可以手動啟動MyCat。也可以執(zhí)行“mycat console”命令,檢測前臺啟動是否報錯。執(zhí)行“mystop”,“mycat start”命令,來停止和啟動MyCat。

如果想讓MyCat自動運行,可以執(zhí)行“vi/usr/lib/systemd/system/mycat.service”命令,在其中輸入“[Unit]”,“Description=Mycat Datab ase”,“Descripton=mycat”,“After=syslog.target”,“after=network.target”,“[Service]”,“Type=simple”,“Restart=on-abort”,“PIDFile=/mysql/app/logs/mycat.pid”,“ExecStart=/mysql/app/mycat/bin/myca t start”,“PrivateTmp=tru e”,“[Install]”,“WantedBy=multi-user.target”行,之后保存該文件。

執(zhí)行“systemctl enable mycat”,“systemctl daemon-reload”,“systemctl start mycat”命令,可以讓MyCat跟對系統(tǒng)啟動自動運行。當其啟動后,執(zhí)行“ps-ef|grep mycat”命令,可以查看MySQL的啟動信息。

對于MyCat,默認使用的端口為TCP 8066,MyCat利用該端口接收數(shù)據(jù)庫客戶端的訪問請求,其管理端口為TCP 9066,用來接收MyCat監(jiān)控命令,查詢MyCat運行狀態(tài),重新加載配置文件等。

執(zhí)行“netstat -tnlp”命令,可以查看端口信息。也可以執(zhí)行“ss -lntup|grep java”命令,也可以顯示上述端口信息。

搭建簡單實驗環(huán)境

對于MyCat來說,是通過配置文件的方式,來定義邏輯庫和相關(guān)配置的,其主要包括MyCat安裝路徑下的“conf”目錄中的“schema.xml”,“rule.xml”和“serve r.xml”等配置文件。在“schema.xml”文件中定義來邏輯庫,表以及分片節(jié)點等內(nèi)容,對應(yīng)的是物理數(shù)據(jù)庫和數(shù)據(jù)庫表的配置。在“rule.xml”文件中定義分片(即分庫分表)規(guī)則,在“server.xml”文件中定義用戶以及系統(tǒng)相關(guān)變量配置文件,賬號以及參數(shù)等。

在本例中就在MySQL主動復(fù)制的基礎(chǔ)上實現(xiàn)讀寫分離操作,在“server01”上部署MyCat,其IP為172.16.1.100,在“serverdb 01”到“serverdb03”主機上安裝MySQL,其IP從172.16.1.51到172.16.1.5 3,其中“serverdb01”為Master節(jié)點,其余兩臺作為Slave節(jié)點。

在默認情況下,在從節(jié)點上實現(xiàn)讀操作,在主節(jié)點上實現(xiàn)寫操作。

注意,在MySQL主動復(fù)制配置中,如果涉及到函數(shù)或者存儲過程的同步復(fù)制的話,需要在“my.cnf”文件中的“mysqld”段中添加“l(fā)og_bin_trust_function_creators=true”行,也可以在客戶端執(zhí)行“set global bin_trust_function_creators=1”命令進行配置。如果要執(zhí)行讀寫分離下的主從切換(例如主節(jié)點出現(xiàn)故障等),那么某個從節(jié)點有可能變成主節(jié)點,因此在從節(jié)點上就不能設(shè)置為只讀“read_only=1”參數(shù)。

為了防止因為大小寫不明確導(dǎo)致找不到表的問題,可以在“/etc/my.cnf”文件中的“mysqld”段添加“l(fā)ower_case_table_names=1”行。對于如何配置MySQL主動復(fù)制,這里限于篇幅就不在贅述了,其主要步驟是先準備主從二進制和中斷日志目錄。

之后在主從節(jié)點上配置“my.cnf”文件,準備主庫和從庫參數(shù)。

注意,其中的“autocommit=0”行需要屏蔽,啟用自動提交功能,否則數(shù)據(jù)無法提交到后端。

接著在主從節(jié)點創(chuàng)建用于復(fù)制操作的賬戶并授權(quán),最后在從庫上使Slave和Master節(jié)點建立連接。

配置MyCAT邏輯庫信息

進入MyCat中的“conf”目錄,執(zhí)行“vi schema.xml”命令,在其中添加“”,“”,“”行,來創(chuàng)建名為“mycatdb1”,“mycatdb2”和“mycatdb3的邏輯庫。

這些邏輯庫僅僅在MyCat中可見,并不是真正意義上的數(shù)據(jù)庫。

注意,其中“checkSQLschema”參數(shù)用來檢查并過濾SQL中包含Schema的情況。

“sqlMaxLimit”參數(shù)設(shè)置默認返回的最大記錄數(shù)。“dataNode”參數(shù)定義數(shù)據(jù)節(jié)點名稱。添加“”,“”,“”行,用來定義個數(shù)據(jù)節(jié)點對應(yīng)的數(shù)據(jù)主機名稱和數(shù)據(jù)庫名稱。

輸 入“”,“”,“”行,來執(zhí)行讀寫分離的配置,其中的“xxx”表示具體的密碼。Schema中的每一個DataHost的Host的值必須唯一,否則將會出現(xiàn)主從在所有DataHost中全部切換的現(xiàn)象。這里定義的數(shù)據(jù)主 機 名 為“mydatahost1”,連接到MySQL主動結(jié)構(gòu)中的Master節(jié)點,并指定其MySQL賬戶名和密碼。

輸 入“”,“”,“”,“”,“”,“”,“”行,使用MyCat托管MySQL主動切換,定義數(shù)據(jù)主機名稱,連接到MySQL讀寫分離集群,配置讀寫分離和主從切換參數(shù)。

配置MyCat賬戶權(quán)限和日志信息

進入MyCat中的“conf”目 錄,執(zhí) 行“vi server.xml”命 令,輸 入“”,“ xxx”,“MyCATdb 1,MyCATdb2,MyCATdb3”行,定義所需的賬戶(這里為“adminuser”)和密碼,其擁有Root權(quán)限,用來登錄MyCat邏輯庫,來管理后端的數(shù)據(jù)節(jié)點,與之對應(yīng)的是MySQL主從群集。實現(xiàn)數(shù)據(jù)的讀寫分離。

輸 入“”,“schema name="TESTDB" dml="0110">”,“”,“”,“”,“”,“”行,針對特定的數(shù)據(jù)庫中的表,設(shè)置所需的權(quán)限,例如對于“TESTDB”數(shù)據(jù)庫來說,允許執(zhí)行刪除和修改操作,禁止增加和和刪除操作。對于“tb02”表來說,允許對其執(zhí)行增刪改查操作,“0”對應(yīng)禁止操作,“1”對應(yīng)允許操作。這樣,可以實現(xiàn)對用戶Schema及其下的Table進行精細化的DML權(quán)限控制,

DML權(quán)限設(shè)置設(shè)置順序為“insert”,“update”,“select” 和“delete”。Privileges節(jié)點中的“check”屬性用來標識是否開啟DML權(quán)限檢 查,默認為“false”不進行檢查。輸入“”,“xxx”,“MyCATdb 1,MyCATdb2,MyCATdb3”,“true”,“”行,用來設(shè)置普通用戶(這里為“user1”)及其密碼信息,使其只能擁有讀取權(quán)限,其中的“xxx”表示不同賬戶各自的具體密碼。進入MyCat中的“conf”目錄,執(zhí)行“vi log4j2.xml”命令,將其中的“”行修改為“”,將MyCat的日志輸出級別修改為“debug”,便于進行調(diào)試。

使用MyCat實現(xiàn)群集讀寫分離

例如,執(zhí)行“mysql-uadminuser -pxxx -P9066-h172.16.1.100”命令,使用上述定義的管理用戶在客戶端連接MyCat。連接完成后,執(zhí)行“show databases;”命令,顯示邏輯庫信息。執(zhí)行“show@@heartbeat;”命令,顯示心跳信息。執(zhí)行“show@@datasource;”命令,顯示數(shù)據(jù)源信息。執(zhí)行“mysql-uadminuser -pxxx -P8066-h172.16.1.100”命令,可以連接MyCat業(yè)務(wù)系統(tǒng)。執(zhí)行“show databases;”命令,查看數(shù)據(jù)庫信息。

注意,這里并沒有使用MySQL的Root賬戶,有利于提高訪問的安全性。

執(zhí)行“use mycatdb1;”命令,切換到指定的邏輯庫中,執(zhí)行“show tables;”命令,查看其中的表信息。您可以根據(jù)需要,在數(shù)據(jù)庫中執(zhí)行各種操作。

如果其中一臺MySQL宕 機,可以執(zhí)行“mysql-uadminuser -pxxx -P8066-h172.16.1.100 -e "select@@hostname";”命令,來進行測試,發(fā)現(xiàn)數(shù)據(jù)庫依然可以正常訪問。

如果是MySQL群集中的Mastsr主機宕機,可以切換到“serverdb02”主機上,讓其頂替Mastere工作。之后將上述“schema.xml”中的““”修改為“”。將“”修 改為“”,對心跳方式進行修改。并且添加添加諸如“”行,讓“serverdb02”主機主機可以在Master出現(xiàn)故障時進行頂替。之后執(zhí)行“mycat restart”命令,重啟MyCat進行測試即可。

猜你喜歡
定義數(shù)據(jù)庫信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
修辭學(xué)的重大定義
山的定義
教你正確用(十七)
海外英語(2006年11期)2006-11-30 05:16:56
主站蜘蛛池模板: 亚洲国产成人精品无码区性色| 久久久四虎成人永久免费网站| 91在线国内在线播放老师| 日韩毛片免费视频| 欧美精品v日韩精品v国产精品| 亚洲av片在线免费观看| 国产视频只有无码精品| 成人无码区免费视频网站蜜臀| 依依成人精品无v国产| 久久国产精品电影| 亚洲婷婷六月| 一级成人欧美一区在线观看 | 国产乱人激情H在线观看| 97国产精品视频自在拍| 亚洲IV视频免费在线光看| 国产91特黄特色A级毛片| 亚洲无码不卡网| 最新加勒比隔壁人妻| 少妇高潮惨叫久久久久久| 综合色婷婷| 日韩精品欧美国产在线| 亚洲天堂日韩av电影| 国产99在线| 99精品视频在线观看免费播放| 久久精品亚洲热综合一区二区| 亚洲视频免| 亚洲最猛黑人xxxx黑人猛交| 国产微拍一区| 久久婷婷综合色一区二区| 国产精品永久不卡免费视频| 蜜桃臀无码内射一区二区三区| 亚洲天堂久久新| 国产区免费精品视频| 欧美综合中文字幕久久| 人人看人人鲁狠狠高清| 在线观看视频99| 国产丝袜啪啪| 午夜不卡视频| 日本黄网在线观看| 啪啪免费视频一区二区| 国产成人1024精品下载| 精品无码一区二区三区在线视频| 综合天天色| 麻豆国产在线不卡一区二区| 亚洲成a人在线观看| 久久久久国产精品嫩草影院| 亚洲精品视频免费| 国产美女自慰在线观看| 尤物国产在线| 美女视频黄又黄又免费高清| 91福利国产成人精品导航| 国产精品无码翘臀在线看纯欲| 欧美一级高清免费a| 色综合中文综合网| 九九免费观看全部免费视频| 亚洲成在人线av品善网好看| 亚洲中文字幕精品| 国产日本欧美在线观看| 国产欧美日韩精品综合在线| 亚洲成人精品在线| 久久亚洲高清国产| 国产成人你懂的在线观看| www.国产福利| 亚洲六月丁香六月婷婷蜜芽| 啪啪永久免费av| 操操操综合网| 亚洲性影院| 欧美一区二区丝袜高跟鞋| 国产精品视屏| 国产在线视频自拍| 久久美女精品| 日本一区二区三区精品AⅤ| 亚洲欧美日韩成人在线| 国产噜噜在线视频观看| 欧美成人免费午夜全| 1769国产精品视频免费观看| 国产精品原创不卡在线| 亚洲系列无码专区偷窥无码| 日韩精品无码免费一区二区三区| 中文字幕在线欧美| 色悠久久综合| 久久精品日日躁夜夜躁欧美|