用MySQL proxy搞事情

最近因为线上数据库插入了一批“机密数据”,结果有查询权限的账户被禁掉了,这使得很多需要查库分析的问题变得棘手,而大数据那边和这边又是两个系统,也不太可能跟他们要数据,最直接的办法就是写个程序,然后扔到线上执行一下,把要查询的结果打印出来,但是每次查询的条件不一样,每次都搞程序去查神他妈烦,于是有人搞了一个MySQL Proxy;讲真,以前还真不知道这个东西,用起来发现很神奇,于是研究了一下。首先,我本地的IP虽然被数据库禁了,但是线上的机器还是能访问的,这就给我们提供了一个访问数据库的途径,如果都被禁了,那可以洗洗睡了,估计没可能连上的。另外要说一下,一般这种情况都是用线上程序中的用户名和密码访问数据库,因为读权限的账户已经被禁了(其实就是不让所有人看数据库),也就是说你是有读写权限的,所以搞归搞,用起来要谨慎,不是十分必要,别手贱改数据库,这不是好习惯……

言归正传,网上讲MySQL proxy的文章多的数不过来,而我研究得也不深,没什么好写的,只是单纯记录一下自己的用法,以后遇到同类问题时多一个方案,如果能帮到各位读者,不胜荣幸。

首先,我们需要到http://downloads.mysql.com/archives/proxy/这里去下载一个程序,然后扔到我们有访问数据库权限的机器上,解压;好了其实你现在就可以启动程序了,当然,你什么都没有配置,它也什么卵用都没有。那么我们要配置什么呢?当然是让它代理访问那些数据库了!我们可以在解压后的目录下创建一个conf目录,用来存放相关的配置,我的配置如下:

[mysql-proxy]
user=root
proxy-address=代理服务器IP:所用端口
proxy-backend-addresses=需要代理的数据库的IP:数据库端口
log-file=/aurora/mysqlproxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit/logs/mysql-proxy.log
log-level=info
daemon=true
keepalive=true

daemon就是以守护线程方式启动,keepalive是指在程序崩溃时尝试重启。

好了,单纯作为连接数据库的代理的话,有这些就够了,如果需要代理多个数据多加几个配置文件就好了;到bin目录下运行启动脚本mysql-proxy 命令如下:/aurora/mysqlproxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit/libexec/mysql-proxy --defaults-file=../conf/mysql-proxy.conf,执行前别忘了授予执行权限。

当然,这东西还能搞读写分离等等,更多功能可以参考http://www.cnblogs.com/lin3615/p/5684891.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值