真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL多實(shí)例數(shù)據(jù)庫(kù)的安裝及配置方法-創(chuàng)新互聯(lián)

下面講講關(guān)于MySQL多實(shí)例數(shù)據(jù)庫(kù)的安裝及配置方法,文字的奧妙在于貼近主題相關(guān)。所以,閑話就不談了,我們直接看下文吧,相信看完MySQL多實(shí)例數(shù)據(jù)庫(kù)的安裝及配置方法這篇文章你一定會(huì)有所受益。

創(chuàng)新互聯(lián)建站主營(yíng)茂南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),茂南h5小程序制作搭建,茂南網(wǎng)站營(yíng)銷推廣歡迎茂南等地區(qū)企業(yè)咨詢

一、MySQL多實(shí)例介紹

1、什么是mysql多實(shí)例?
mysql多實(shí)例就是在一臺(tái)云服務(wù)器上同時(shí)開(kāi)啟多個(gè)不同的云服務(wù)器端口(如:3306、3307),同時(shí)運(yùn)行多個(gè)mysql服務(wù)進(jìn)程,這些服務(wù)進(jìn)程通過(guò)不同的socket監(jiān)聽(tīng)不同的云服務(wù)器端口來(lái)提供服務(wù)。
這些mysql多實(shí)例共用一套mysql安裝程序,使用不同的my.cnf(也可以相同)配置文件、啟動(dòng)命令(也可以相同)和數(shù)據(jù)文件。在提供服務(wù)時(shí),多實(shí)例mysql在邏輯上看起來(lái)是各自獨(dú)立的,它們根據(jù)配置文件的對(duì)應(yīng)設(shè)定值,獲得云服務(wù)器相應(yīng)數(shù)量的硬件資源。
打個(gè)比方,mysql多實(shí)例就相當(dāng)于房子的多個(gè)臥室,每個(gè)實(shí)例可以看做一間臥室,整個(gè)云服務(wù)器就是一套房子,云服務(wù)器的硬件資源(CPU、Mem、Disk)、軟件資源(centos操作系統(tǒng))可以看作房子的衛(wèi)生間、廚房、客廳,是房子的共用資源。
 2、mysql多實(shí)例的作用與問(wèn)題
作用:
2.1、有效利用云服務(wù)器資源
當(dāng)單個(gè)云服務(wù)器資源有剩余時(shí),可以充分利用剩余的資源提供更多的服務(wù),且可以實(shí)現(xiàn)資源的邏輯隔離。
2.2、節(jié)約云服務(wù)器資源
當(dāng)公司資金緊張,但是數(shù)據(jù)庫(kù)又需要各自盡量獨(dú)立的提供服務(wù),而且,需要主從復(fù)制等技術(shù)時(shí),多實(shí)例就再好不過(guò)了。
問(wèn)題:
存在資源互相搶占的問(wèn)題。
當(dāng)某個(gè)數(shù)據(jù)庫(kù)實(shí)例并發(fā)很高或有SQL慢查詢時(shí),整個(gè)實(shí)例會(huì)消耗大量的系統(tǒng)CPU、磁盤I/O等資源,導(dǎo)致云服務(wù)器上的其他數(shù)據(jù)庫(kù)實(shí)例提供服務(wù)的質(zhì)量一起下降。
3、mysql多實(shí)例的生產(chǎn)應(yīng)用場(chǎng)景
3.1、資金緊張型公司的選擇
若公司資金緊張,公司業(yè)務(wù)訪問(wèn)量不太大,但又希望不同業(yè)務(wù)的數(shù)據(jù)庫(kù)服務(wù)各自盡量獨(dú)立的提供服務(wù)而互相不受影響,同時(shí),還需要主從復(fù)制等技術(shù)提供備份或讀寫(xiě)分離服務(wù),那么,多實(shí)例就再好不過(guò)了。例如:可以通過(guò)3臺(tái)云服務(wù)器部署9~15個(gè)實(shí)例,交叉做主從復(fù)制、數(shù)據(jù)備份及讀寫(xiě)分離,這樣就可以達(dá)到9~15臺(tái)云服務(wù)器每個(gè)只裝一個(gè)數(shù)據(jù)庫(kù)才有的效果。強(qiáng)調(diào):所謂的盡量獨(dú)立是相對(duì)的。
3.2、并發(fā)訪問(wèn)不是特別大的業(yè)務(wù)
當(dāng)公司業(yè)務(wù)訪問(wèn)量不太大的時(shí)候,云服務(wù)器的資源基本上都浪費(fèi)了,這時(shí)就適合多實(shí)例的應(yīng)用,如果對(duì)SQL語(yǔ)句的優(yōu)化做的比較好,mysql多實(shí)例會(huì)是一個(gè)很值得使用的技術(shù),即使并發(fā)很大,合理分配好系統(tǒng)資源,搭配好服務(wù),也不會(huì)有太大問(wèn)題。
3.3、門戶網(wǎng)站應(yīng)用mysql多實(shí)例場(chǎng)景
門戶網(wǎng)站通常都會(huì)使用多實(shí)例,因?yàn)榕渲糜布玫脑品?wù)器,可節(jié)省IDC機(jī)柜空間,同時(shí),跑多實(shí)例也會(huì)減少硬件資源跑不滿的浪費(fèi)。

二、安裝并配置多實(shí)例mysql數(shù)據(jù)庫(kù)

 1、創(chuàng)建mysql多實(shí)例的數(shù)據(jù)文件目錄
以/data目錄作為mysql多實(shí)例總的根目錄,然后規(guī)劃不同的數(shù)字(即mysql實(shí)例端口號(hào))作為/data下面的二級(jí)目錄,不同的二級(jí)目錄對(duì)應(yīng)的數(shù)字就作為mysql實(shí)例的端口號(hào),以區(qū)別不同的實(shí)例,數(shù)字對(duì)應(yīng)的二級(jí)目錄下包含mysql的數(shù)據(jù)文件,配置文件和啟動(dòng)文件。

[root@mysql-server tools]# mkdir -p /data/{3306,3307}/data/
[root@mysql-server tools]# tree /data
/data
├── 3306
│  └── data
├── 3307
│  └── data

 2、創(chuàng)建mysql多實(shí)例的配置文件(data.zip  拿好早已配置的模板通過(guò)rz上傳到相關(guān)目錄下)
為了讓mysql多實(shí)例之間彼此獨(dú)立,要為每一個(gè)實(shí)例建立一個(gè)my.cnf配置文件和一個(gè)啟動(dòng)文件mysql,讓它們分別對(duì)應(yīng)自己的數(shù)據(jù)文件目錄data。

[root@mysql-server tools]# unzip data.zip 
Archive:  data.zip
  creating: data/
  creating: data/3306/
  inflating: data/3306/my.cnf     
  inflating: data/3306/mysql     
  creating: data/3307/
  inflating: data/3307/my.cnf     
  inflating: data/3307/mysql     
[root@mysql-server tools]# cp data/3306/my.cnf /data/3306/
[root@mysql-server tools]# cp data/3307/my.cnf /data/3307/
[root@mysql-server tools]# tree /data
/data
├── 3306
│  ├── data
│  └── my.cnf
└── 3307
   ├── data
   └── my.cnf

4 directories, 2 files

 3、創(chuàng)建mysql多實(shí)例的啟動(dòng)文件(data.zip  拿好早已配置的模板通過(guò)rz上傳到相關(guān)目錄下)

[root@mysql-server tools]# cp data/3306/mysql /data/3306/
[root@mysql-server tools]# cp data/3307/mysql /data/3307/ 
[root@mysql-server tools]# tree /data
/data
├── 3306
│  ├── data
│  ├── my.cnf
│  └── mysql
└── 3307
   ├── data
   ├── my.cnf
   └── mysql

4 directories, 4 files

 4、配置mysql多實(shí)例的文件權(quán)限
4.1、通過(guò)下面命令,授權(quán)mysql用戶和組管理整個(gè)多實(shí)例的根目錄/data

[root@mysql-server tools]# chown -R mysql.mysql /data
[root@mysql-server tools]# find /data -type f -name "mysql"|xargs ls -l
-rw-r--r-- 1 mysql mysql 1307 4月  8 21:07 /data/3306/mysql
-rw-r--r-- 1 mysql mysql 1307 4月  8 21:07 /data/3307/mysql

4.2、通過(guò)下面命令,授權(quán)mysql多實(shí)例所有啟動(dòng)文件的mysql可執(zhí)行,設(shè)置700權(quán)限最佳,注意不要用755權(quán)限,因?yàn)閱?dòng)文件里有數(shù)據(jù)庫(kù)管理員密碼,會(huì)被讀取到。

[root@mysql-server tools]# find /data -type f -name "mysql"|xargs chmod 700
[root@mysql-server tools]# find /data -type f -name "mysql"|xargs ls -l
-rwx------ 1 mysql mysql 1307 4月  8 21:07 /data/3306/mysql
-rwx------ 1 mysql mysql 1307 4月  8 21:07 /data/3307/mysql

 5、mysql相關(guān)命令加入全局路徑的配置
5.1、配置全局路徑的意義
如果不為mysql的命令配置全局路徑,就無(wú)法直接在命令行輸入mysql這樣的命令,只能用全路徑命令(/application/mysql/bin/mysql),這種帶著路徑輸入命令的方式很麻煩。
5.2、配置mysql全局路徑的方法
5.2.1、確認(rèn)mysql命令所在路徑,命令如下:

[root@mysql-server tools]# ls /application/mysql/bin/mysql
/application/mysql/bin/mysql

5.2.2、在PATH變量前面增加/application/mysql/bin路徑,并追加到/etc/profile文件中,命令如下:

[root@mysql-server tools]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@mysql-server tools]# tail -1 /etc/profile
PATH="/application/mysql/bin:$PATH"
[root@mysql-server tools]# source /etc/profile
[root@mysql-server tools]# echo $PATH
/application/mysql/bin:/usr/local/java/jdk1.8.0_60/bin:/usr/local/java/jdk1.8.0_60/jre/bin:/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/bin:/root/bin

6、初始化mysql多實(shí)例的數(shù)據(jù)庫(kù)文件
6.1、初始化mysql數(shù)據(jù)庫(kù),命令如下:

cd /application/mysql/scripts/
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
##### --basedir=/application/mysql 是mysql安裝路徑,--datadir是不同的實(shí)例數(shù)據(jù)目錄。

6.2、初始化數(shù)據(jù)庫(kù)的原理及結(jié)果說(shuō)明
初始化數(shù)據(jù)庫(kù)的實(shí)質(zhì)就是創(chuàng)建基礎(chǔ)的數(shù)據(jù)庫(kù)系統(tǒng)的庫(kù)文件,例如:生成mysql庫(kù)表等。
初始化數(shù)據(jù)庫(kù)后查看對(duì)應(yīng)實(shí)例的數(shù)據(jù)目錄,可以看到多了如下文件:

[root@mysql-server scripts]# tree /data
/data
├── 3306
│  ├── data
│  │  ├── mysql
│  │  │  ├── columns_priv.frm
│  │  │  ├── columns_priv.MYD
│  │  │  ├── columns_priv.MYI
│  │  │  ├── db.frm
...省略部分...

 7、啟動(dòng)mysql多實(shí)例數(shù)據(jù)庫(kù)
第一個(gè)實(shí)例3306的啟動(dòng)命令如下:

[root@mysql-server scripts]# /data/3306/mysql start
Starting MySQL...

第二個(gè)實(shí)例3307的啟動(dòng)命令如下:

[root@mysql-server scripts]# /data/3307/mysql start 
Starting MySQL...

檢查mysql多實(shí)例數(shù)據(jù)庫(kù)是否成功啟動(dòng),命令如下:

[root@mysql-server scripts]# ss -lntup|grep 330
tcp   LISTEN   0    128           *:3306          *:*    users:(("mysqld",2804,12))
tcp   LISTEN   0    128           *:3307          *:*    users:(("mysqld",3522,11))

 8、mysql多實(shí)例啟動(dòng)故障排錯(cuò)說(shuō)明
如果mysql多實(shí)例有服務(wù)沒(méi)有啟動(dòng),排查辦法如下:
1)、如果發(fā)現(xiàn)沒(méi)有顯示mysql對(duì)應(yīng)實(shí)例的端口,請(qǐng)稍微等待幾秒再檢查,mysql服務(wù)的啟動(dòng)比web服務(wù)慢一些。
2)、如果還不行,查看mysql服務(wù)對(duì)應(yīng)實(shí)例的錯(cuò)誤日志,錯(cuò)誤日志路徑在my.cnf配置的最下面定義。例如,3306實(shí)例的錯(cuò)誤日志為:

[root@mysql-server 3306]# grep log-error my.cnf|tail -1
log-error=/data/3306/mysql_oldboy3306.err
[root@mysql-server 3306]# tail -10 /data/3306/mysql_oldboy3306.err 
180408 22:14:09 InnoDB: 5.5.32 started; log sequence number 0
180408 22:14:09 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
180408 22:14:09 [Note]  - '0.0.0.0' resolves to '0.0.0.0';
180408 22:14:09 [Note] Server socket created on IP: '0.0.0.0'.
...省略部分...

三、配置及管理mysql多實(shí)例數(shù)據(jù)庫(kù)

 1、配置mysql多實(shí)例數(shù)據(jù)庫(kù)開(kāi)機(jī)自啟動(dòng)

[root@mysql-server 3306]# echo "/data/3306/mysql start" >> /etc/rc.local 
[root@mysql-server 3306]# echo "/data/3307/mysql start" >> /etc/rc.local 
[root@mysql-server 3306]# tail -2 /etc/rc.local 
/data/3306/mysql start
/data/3307/mysql start

 2、登錄mysql及管理方法
mysql安裝完成后,默認(rèn)情況下,mysql管理員的賬號(hào)root是無(wú)密碼的。登錄不同的實(shí)例需要指定不同實(shí)例的mysql.sock文件路徑,這個(gè)mysql.sock是在my.cnf配置文件里指定的。
下面是無(wú)密碼登錄數(shù)據(jù)庫(kù)的方法,關(guān)鍵點(diǎn)是-S參數(shù)及后面指定的/data/3306/mysql.sock,注意,不同實(shí)例的sock雖然名字相同,但是路徑是不同的,因此是不同的文件。

[root@mysql-server 3306]# mysql -S /data/3306/mysql.sock 
[root@mysql-server 3306]# mysql -S /data/3307/mysql.sock 

下面是重啟對(duì)應(yīng)實(shí)例數(shù)據(jù)庫(kù)的命令:

/data/3306/mysql stop
/data/3306/mysql start

3、mysql安全配置
mysql管理員的賬號(hào)root密碼默認(rèn)為空,極不安全,可以通過(guò)mysqladmin命令為mysql不同實(shí)例的數(shù)據(jù)庫(kù)設(shè)置獨(dú)立的密碼,命令如下:

[root@mysql-server 3306]# mysqladmin -u root -S /data/3306/mysql.sock password '123456'
[root@mysql-server 3306]# mysqladmin -u root -S /data/3307/mysql.sock password '123456'
登錄3306實(shí)例的命令如下:

[root@mysql-server 3306]# mysql -uroot -p -S /data/3306/mysql.sock
登錄3307實(shí)例的命令如下:
[root@mysql-server 3306]# mysql -uroot -p -S /data/3307/mysql.sock
若要重啟多實(shí)例數(shù)據(jù)庫(kù),也需要進(jìn)行相應(yīng)的如下配置。在重啟數(shù)據(jù)庫(kù)前,需要調(diào)整不同實(shí)例啟動(dòng)文件里對(duì)應(yīng)的數(shù)據(jù)庫(kù)密碼。

[root@mysql-server 3306]# sed -n '13p' /data/3306/mysql /data/3307/mysql
mysql_pwd="oldboy"
[root@mysql-server 3306]# sed -i '13 s#oldboy#123456#g' /data/3306/mysql /data/3307/mysql
[root@mysql-server 3306]# sed -n '13p' /data/3306/mysql /data/3307/mysql
mysql_pwd="123456"

 4、多實(shí)例mysql登錄問(wèn)題分析
1)、多實(shí)例本地登錄mysql
多實(shí)例本地登錄一般通過(guò)socket文件來(lái)指定具體登錄到哪個(gè)實(shí)例,此文件的具體位置是在mysql編譯過(guò)程或my.cnf文件中指定的。在本地登錄數(shù)據(jù)庫(kù)時(shí),登錄程序會(huì)通過(guò)socket文件來(lái)判斷登錄的是哪個(gè)數(shù)據(jù)庫(kù)實(shí)例。
2)、遠(yuǎn)程連接登錄mysql多實(shí)例
遠(yuǎn)程登錄mysql多實(shí)例中的一個(gè)實(shí)例時(shí),通過(guò)TCP端口來(lái)指定所要登錄的mysql實(shí)例,此端口的配置是在mysql配置文件my.cnf中指定的。
例如:在 mysql -uoldboy -p'oldboy' -h 10.0.0.7 -P 3307 中,-P為端口參數(shù),后面接具體的實(shí)例端口,端口是一種“邏輯連接位置”,是客戶端程序被分派到計(jì)算機(jī)上特殊服務(wù)程序的一種方式,強(qiáng)調(diào)提前在10.0.0.7上對(duì)oldboy用戶做了授權(quán)。

對(duì)于以上MySQL多實(shí)例數(shù)據(jù)庫(kù)的安裝及配置方法相關(guān)內(nèi)容,大家還有什么不明白的地方嗎?或者想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站名稱:MySQL多實(shí)例數(shù)據(jù)庫(kù)的安裝及配置方法-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/coheji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部