我們?cè)陧?xiàng)目使用阿里云RDS的時(shí)候經(jīng)常需要進(jìn)行外網(wǎng)調(diào)試,但是RDS的外網(wǎng)訪問(wèn)是要收取一定的流量費(fèi)用的,所以我們采取MySql-Proxy開(kāi)啟代理的形式,讓訪問(wèn)ECS云服務(wù)器實(shí)現(xiàn)RDS的外網(wǎng)訪問(wèn)。
接下來(lái)我們一步步開(kāi)始
我所使用的服務(wù)器操作系統(tǒng) 為Ubuntu-14.04
一、首先在服務(wù)器上安裝MySql
用apt-get 安裝mysql,在命令行輸入sudo apt-get install mysql-server
然后會(huì)自動(dòng)安裝并且建立好關(guān)系,中途會(huì)提示建立root賬戶的密碼,安裝完后自動(dòng)啟動(dòng)服務(wù)。
檢查服務(wù)是否啟動(dòng):
輸入 netstat -an | grep 3306 查看是否有端口被監(jiān)聽(tīng),如果有的話說(shuō)明服務(wù)已經(jīng)啟動(dòng)了。
輸入mysql -u root -p 然后提示輸入密碼,進(jìn)入mysql界面。
成功進(jìn)入MySql后就代表數(shù)據(jù)庫(kù)已經(jīng)被安裝好了。
二、安裝MySql-Proxy 數(shù)據(jù)庫(kù)的代理工具
用apt-get 安裝mysql-proxy,在命令行輸入sudo apt-get install mysql-proxy 進(jìn)行安裝
安裝完成后,創(chuàng)建所需要的配置文件
在/etc/mysql/下 創(chuàng)建mysql-proxy.conf
三、相關(guān)配置文件
一、配置mysql-proxy.cnf
在剛剛創(chuàng)建的mysql-proxy.cnf配置文件中
寫(xiě)入如下配置內(nèi)容:
[mysql-proxy]
daemon = true
user = mysql
proxy-skip-profiling = true
keepalive = true
max-open-files = 2048
event-threads = 50
pid-file = /var/run/mysql-proxy.pid
log-file = /opt/log/mysql-proxy.log
log-level = debug
admin-address=localhost:4401
admin-username=admin
admin-password=adminpassword
admin-lua-script=/usr/lib/mysql-proxy/lua/admin.lua
proxy-address = 114.55.103.2x:3307
proxy-backend-addresses = rm-xxxxxxxxxxxxxxx.mysql.rds.aliyuncs.com:3306
proxy-lua-script=/usr/lib/mysql-proxy/lua/proxy/balance.lua
解釋下幾個(gè)重要的配置信息:
proxy-address 表示你想要訪問(wèn)該代理數(shù)據(jù)庫(kù)的路徑和地址,配置完后我們可以在遠(yuǎn)程通過(guò)該地址進(jìn)行訪問(wèn)
proxy-backend-addresses 表示你所要代理的阿里云RDS數(shù)據(jù)庫(kù)的地址
log-file 指定你的日志路徑,如果出現(xiàn)錯(cuò)誤可以查看相關(guān)的日志信息
admin-lua-script 為你mysql-proxy的admin.lua腳本的路徑
proxy-lua-script 為你mysql-proxy的balance.lua腳本的路徑
注意:使用mysql-proxy 需要服務(wù)器上安裝了lua 如果未安裝 則需要進(jìn)行安裝否則將無(wú)法使用。
二、修改/etc/default/mysql-proxy
保存上述配置文件后,需要修改mysql-proxy的默認(rèn)配置
打開(kāi)/etc/default/mysql-proxy 如果沒(méi)有則創(chuàng)建
將里面的內(nèi)容改為
ENABLED="true"
OPTIONS=“--defaults-file=/etc/mysql/mysql-proxy.cnf"
表示啟用代理并且制定默認(rèn)配置文件為剛剛所創(chuàng)建的路徑文件
四、啟動(dòng)MySql-Proxy
首先需要修改剛剛配置文件的權(quán)限
sudo chmod 0660 /etc/mysql/mysql-proxy.cnf 如果不修改將無(wú)法啟動(dòng)
然后啟動(dòng)sudo /etc/init.d/mysql-proxy start
出現(xiàn) * Starting MySQL Proxy daemon...? ? ? ? ? ? ? ? ? ? [ OK ] 字樣后則代表啟動(dòng)成功
接下來(lái)就能在本機(jī)或者其他外網(wǎng)使用剛剛配置的IP和端口 進(jìn)行訪問(wèn)了,訪問(wèn)的密碼則是所代理數(shù)據(jù)庫(kù)的密碼和用戶
不單單是阿里云,其他需要內(nèi)網(wǎng)轉(zhuǎn)外網(wǎng)訪問(wèn)的MySql操作可以使用以上方式進(jìn)行訪問(wèn)。