因数据库安全要求,数据库服务器在私网上,只有一台公网服务器,由于环境要求,外网系统必须使用代理访问数据库。考虑该要求后,确定使用MySql Router来进行代理访问
一、从官网下载最新MySql Router
地址:https://dev.mysql.com/downloads/router/
环境配置:
操作系统:CentOS 7
数据库:MySql 8
代理:MySql Router 8
公网服务器IP:110.129.50.10(乱写的,做参考)
私网服务器IP:192.168.56.100(乱写的,做参考)(这里是数据库已搭建的服务器)
二、拷贝,解压文件
从管网下载好:mysql-router-8.0.13-linux-glibc2.12-x86_64.tar.xz 拷贝到公网服务器上,解压。
解压
解包:
得到文件:
三、创建必要的文件夹,复制安装和配置文件到指定目录
建立对应文件夹
拷贝MySql Router软件到指定目录
建立连接文件到操作系统启动程序文件夹
给安装文件夹赋予指定的权限
初始化环境变量
复制配置文件到你想放的位置
四、修改配置文件
vi mysqlrouter.conf
[DEFAULT]
logging_folder = /data/mysql-router/log
plugin_folder = /data/servers/mysql-router/lib/mysqlrouter
config_folder = /etc/mysql-router
runtime_folder = /usr/local/mysqlrouter/run
[logger]
level = INFO
[routing:read_write]
bind_address=110.129.50.10
bind_port = 7001
mode = read-write
destinations = 192.168.56.100:3306
max_connections = 65535
max_connect_errors = 100
connect_timeout = 3
client_connect_timeout = 9
/*---------------因为不搭建主备库,只是做为公网服务器跳转使用,所以这里参数不用配置-----------------------------
#[routing:read_only]
#bind_address = XXXXXXXXX
#bind_port = 7002
#mode = read-only
#destinations = XXXXXXX:3306,XXXXXXX:3306
#max_connections = 65535
#max_connect_errors = 100
#client_connect_timeout = 9
-------------------------------------------------*/
[keepalive]
interval = 60
五、启动MySql Router ,并且访问路由的地址端口,看是否能进入私网数据库
查看进程正常,日志正常。发现没有问题。
通过7001端口访问,测试成功。
MySql Router后期可以改成做MySql 数据库Innodb集群的代理,可以做读写库分离的操作。