如何使用MySQL-Proxy使MySQL实例可以通过外网访问?
在云主机(UHost)安装MySQL-Proxy:
yum install mysql-proxy
安装结束后,可通过如下命令查看相关信息:
mysql-proxy -V
查看MySQL-Proxy帮助选项:
mysql-proxy -help -all
MySQL-Proxy默认端口为4040,通过访问4040端口就可以访问3306端口。
使用命令行开启MySQL-Proxy,步骤如下:
touch /etc/mysql-proxy.cnf
[root@localhost ~]# vim /etc/mysql-proxy.cnf
[mysql-proxy]
daemon = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
max-open-files = 1024
plugins = admin,proxy
user = mysql-proxy
proxy-backend-addresses = 10.41.1.2 # 内网的数据库地址,默认连接数据库ip3306端口 本机默认使用4040
admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua
admin-address = 0.0.0.0:4041 # 监听端口是4041
admin-username = root # 数据库用户名
admin-password = rootdbpassword # 数据库密码
配置文件保存后需要改变权限:
chmod 0660 /etc/mysql-proxy.cnf
启动:
mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
如果出现
2019-06-26 16:06:34: (critical) Key file contains key ‘daemon’ which has value that cannot be interpreted.
2019-06-26 16:06:34: (message) Initiating shutdown, requested from mysql-proxy-cli.c:367
2019-06-26 16:06:34: (message) shutting down normally, exit code is: 1
配置不对,可能用了网上的配置,会报上述错误,版本不一样。新版mysql-proxy会自动生成/etc/mysql-proxy.cnf配置,我们修改相应字段就好了,如上修改。
然后使用kill命令可以将程序终止。
在外网环境测试:
mysql -hip -P4040 -uUser -pPassword
运行成功。
虽然利用rinted做数据库端口转发失败,但是它也是一种简单又实用的端口转发工具,配置也很简单。所以也贴出来了配置过程。方便以后自己查看。