CleverCode的线上数据库,只能通过内网连接到线上。每次都需要登录ssh终端上操作。为了操作方便在在内网开发机上装了一个mysql-proxy去访问线上数据库。
1 架构如下
架构说明
线上数据库,只授权了192.168.1.*网段的用户能够访问线上数据库。其它网段都不能访问。
2 线上数据库创建用户
登录到192.168.2.101机器,创建一个授权用户。
# mysql -uclevercode -pc123456 -h 192.168.2.101 -P 3306
mysql>GRANT ALL PRIVILEGES ON *.* TO 'clevercode'@'192.168.1.*' IDENTIFIED BY 'c123456' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES;
3 mysql-proxy安装与配置
3.1 安装
# yum list mysql-proxy
# yum -y install mysql-proxy
# service iptables stop
3.2 配置
vi /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 Configuration(代理开发机)
proxy-address = 192.168.1.101:3316
#线上数据库地址
proxy-backend-addresses = 192.168.2.101:3306
#proxy-read-only-backend-addresses =
#proxy-lua-script =
#proxy-skip-profiling = true
#
# Admin Configuration
#admin-address = 0.0.0.0:4041
admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua
admin-username = admin
admin-password = admin
3.3 启动
# mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
可以配置多个配置文件,来代理不同的线上数据库。
4 navicat连接
只要自己的windows机器能够访问192.168.1.101的3316端口。msyql-proxy就能够代理到192.168.2.101的3306端口。这个密码要用线上数据库的密码。
技术交流
CleverCode是一名架构师,技术交流,咨询问题,请加CleverCode创建的qq群(架构师俱乐部):517133582。加群和腾讯,阿里,百度,新浪等公司的架构师交流。【架构师俱乐部】宗旨:帮助你成长为架构师!