mysql-proxy解决只能内网访问线上数据库问题

原创 2016年08月29日 20:12:47

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端口。这个密码要用线上数据库的密码。


版权声明:本文为博主原创文章,未经博主允许不得转载。

ProxySQL--灵活强大的MySQL代理层

本文是我在学习和验证ProxySQL的过程中,从初识(对其机制猜想或者仅凭几次命令的结果臆断其原理),到逐渐深入(模拟各种场景测试、抓包分析、与作者交流)过程中的思路和方法和结论的记录。ProxySQ...
  • kai404
  • kai404
  • 2016年09月25日 22:16
  • 11385

MySql的Proxy机制

转自:  http://koda.iteye.com/blog/788862 http://koda.iteye.com/blog/682547   使用MySQL将读写请求转接到主从Se...

通过中间服务器做代理(端口转发)远程连接数据库

最近遇到了一个远程连接数据库服务器的问题,网上查了很久,最后在同事的指导下终于连上了,记录一下。 简单的说就是一个端口转发的问题。 问题描述如下: 假设我本地是A,中间服务器是B,数据库服务器是C...

中转api,一个用于转发用户的Http请求的工具

有时候由于限制或者其他原因,不能直接访问外部的接口,我们就需要一个中转站,用于中转用户的请求,将用户的请求发送到目的地址,然后返回用户需要的结果。 众所周知,Http请求分请求头和请求体,响应也分响...

java通过代理服务器实现对FTP和HTTP的访问

在网上搜索了一天,看了很多代码,终于给我弄出来了,现在把全部的代码贴出来,可以通过代理服务器实现对FTP和HTTP的访问(和网上的有些不一样, 网上对请求头的Proxy-Authorization属性...

代理模式设计只能内网访问线上数据库

CleverCode最近在看代理模式。 1 模式介绍    在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需...

解决内网通过代理服务器访问外网部署WebService报错问题“请求因 HTTP 状态 407 失败”

解决内网通过代理服务器访问外网部署WebService报错问题“请求因 HTTP 状态 407 失败”2006-04-20 11:16 by 努力学习的小熊, 8012 阅读, 17 评论, 收藏, ...

Native for Mysql 连接阿里云数据库(内网连接和外网连接。)

Native for Mysql  连接阿里云服务器。看看阿里云服务器是公网IP还是内网IP(使用SecureCRT远程到跳板服务器上,也称堡垒机。) 1.阿里云是内网IP: 如果是内网IP,可以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql-proxy解决只能内网访问线上数据库问题
举报原因:
原因补充:

(最多只允许输入30个字)