MySQL&DBs我爱编程

配置MySql代理,实现阿里云RDS外网访问

2017-09-05  本文已影响3602人  SwingLife

我们在项目使用阿里云RDS的时候经常需要进行外网调试,但是RDS的外网访问是要收取一定的流量费用的,所以我们采取MySql-Proxy开启代理的形式,让访问ECS云服务器实现RDS的外网访问。

接下来我们一步步开始

我所使用的服务器操作系统 为Ubuntu-14.04

一、首先在服务器上安装MySql

用apt-get 安装mysql,在命令行输入sudo apt-get install mysql-server

然后会自动安装并且建立好关系,中途会提示建立root账户的密码,安装完后自动启动服务。

检查服务是否启动:

输入 netstat -an | grep 3306 查看是否有端口被监听,如果有的话说明服务已经启动了。

输入mysql -u root -p 然后提示输入密码,进入mysql界面。

成功进入MySql后就代表数据库已经被安装好了。

二、安装MySql-Proxy 数据库的代理工具

用apt-get 安装mysql-proxy,在命令行输入sudo apt-get install mysql-proxy 进行安装

安装完成后,创建所需要的配置文件

在/etc/mysql/下 创建mysql-proxy.conf

三、相关配置文件

一、配置mysql-proxy.cnf

在刚刚创建的mysql-proxy.cnf配置文件中

写入如下配置内容:

[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

解释下几个重要的配置信息:

proxy-address 表示你想要访问该代理数据库的路径和地址,配置完后我们可以在远程通过该地址进行访问

proxy-backend-addresses 表示你所要代理的阿里云RDS数据库的地址

log-file 指定你的日志路径,如果出现错误可以查看相关的日志信息

admin-lua-script 为你mysql-proxy的admin.lua脚本的路径

proxy-lua-script 为你mysql-proxy的balance.lua脚本的路径

注意:使用mysql-proxy 需要服务器上安装了lua 如果未安装 则需要进行安装否则将无法使用。

二、修改/etc/default/mysql-proxy

保存上述配置文件后,需要修改mysql-proxy的默认配置

打开/etc/default/mysql-proxy 如果没有则创建

将里面的内容改为

ENABLED="true"

OPTIONS=“--defaults-file=/etc/mysql/mysql-proxy.cnf"

表示启用代理并且制定默认配置文件为刚刚所创建的路径文件

四、启动MySql-Proxy

首先需要修改刚刚配置文件的权限

sudo chmod 0660 /etc/mysql/mysql-proxy.cnf 如果不修改将无法启动

然后启动sudo /etc/init.d/mysql-proxy start

出现 * Starting MySQL Proxy daemon...                    [ OK ] 字样后则代表启动成功

接下来就能在本机或者其他外网使用刚刚配置的IP和端口 进行访问了,访问的密码则是所代理数据库的密码和用户

不单单是阿里云,其他需要内网转外网访问的MySql操作可以使用以上方式进行访问。

上一篇下一篇

猜你喜欢

热点阅读