配置MysqlProxy连接阿里云的内网rds数据库
2013-07-08 10:50
701 查看
最近项目需要,将平台迁移至阿里云的rds数据库上,由于rds设置为内网访问,通过云主机间接访问又不太方便,所以临时在一台云主机上临时配置了一个mysqlproxy,用来在公司通过公网访问数据库,待迁移完毕测试没有问题后,再将mysqlproxy关掉!
简单记录了配置过程
1,mysql官网下载mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz;
2,确认服务器上安装有一下三个软件包:pkgconfig、libevent、lua,没有的话使用yum安装,具体步骤就不写了;(yum install lua;yum install libevent,yum install pkgconfig)
3,解压缩mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz,解压后的目录为:/app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit
4,在以上目录中,建立文件mysql-proxy.cnf,并设置文件权限(必须设置,否则mysqlproxy无法启动):
点击(此处)折叠或打开
chmod 0660 mysql-proxy.cnf
5,编辑mysql-proxy.cnf内容为:
点击(此处)折叠或打开 这个只是代理功能,没有进行读写分离
admin-address = localhost:4041
admin-username = openser
admin-password = 123456
admin-lua-script = /app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/lib/mysql-proxy/lua/admin.lua
proxy-backend-addresses = rds内网地址:3306
proxy-address = 外网IP:4040
log-file = /app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/mysql-proxy.log
log-level = debug
daemon = true
以上配置中,配置项proxy-backend-addresses和proxy-address 均以实际配置为准;
6,启动mysqlproxy:/app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/bin/mysql-proxy --defaults-file=./mysql-proxy.cnf
查看当前目录下的mysql-proxy.log,如没有错误信息,则启动成功
7,在客户端使用NaviCat工具,连接成功
mysqlproxy还有很多配置项,可参考官网网站,这里就不多做试验了;本来想设置为只读,也就是仅供查询使用,但是没有找到相应的配置项,不知道mysqlproxy是否有这样的功能,有空再研究了!
如果遇到乱码:
2.MySQL Proxy0.8.2启动后,我们看的网站页面全是乱码,所以我们要将主从数据库的配置文件my.cnf加进如下代码以避免这个问题:
[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
init-connect='SET NAMES utf8'
default-character-set=utf8
测试的完整配置 :mysql-proxy.cnf
启动 /mnt/mysql-proxy/bin/mysql-proxy --defaults-file=/mnt/mysql-proxy/mysql-proxy.cnf
如果报错 mysql-proxy: error while loading shared libraries: libmysql-chassis.so.0: cannot open shared object file: No such file or directory
先执行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/mysql-proxy/lib/
参考官网 http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy.html
简单记录了配置过程
1,mysql官网下载mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz;
2,确认服务器上安装有一下三个软件包:pkgconfig、libevent、lua,没有的话使用yum安装,具体步骤就不写了;(yum install lua;yum install libevent,yum install pkgconfig)
3,解压缩mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz,解压后的目录为:/app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit
4,在以上目录中,建立文件mysql-proxy.cnf,并设置文件权限(必须设置,否则mysqlproxy无法启动):
点击(此处)折叠或打开
chmod 0660 mysql-proxy.cnf
5,编辑mysql-proxy.cnf内容为:
点击(此处)折叠或打开 这个只是代理功能,没有进行读写分离
admin-address = localhost:4041
admin-username = openser
admin-password = 123456
admin-lua-script = /app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/lib/mysql-proxy/lua/admin.lua
proxy-backend-addresses = rds内网地址:3306
proxy-address = 外网IP:4040
log-file = /app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/mysql-proxy.log
log-level = debug
daemon = true
以上配置中,配置项proxy-backend-addresses和proxy-address 均以实际配置为准;
6,启动mysqlproxy:/app/mysql/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit/bin/mysql-proxy --defaults-file=./mysql-proxy.cnf
查看当前目录下的mysql-proxy.log,如没有错误信息,则启动成功
7,在客户端使用NaviCat工具,连接成功
mysqlproxy还有很多配置项,可参考官网网站,这里就不多做试验了;本来想设置为只读,也就是仅供查询使用,但是没有找到相应的配置项,不知道mysqlproxy是否有这样的功能,有空再研究了!
如果遇到乱码:
2.MySQL Proxy0.8.2启动后,我们看的网站页面全是乱码,所以我们要将主从数据库的配置文件my.cnf加进如下代码以避免这个问题:
[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
init-connect='SET NAMES utf8'
default-character-set=utf8
测试的完整配置 :mysql-proxy.cnf
[mysql-proxy] admin-address = localhost:4041 admin-username = admin admin-password = 123456 admin-lua-script = /mnt/mysql-proxy/lib/mysql-proxy/lua/admin.lua proxy-read-only-backend-addresses = 10.110.22.217:3306;10.12.22.212:3306 (slave server) proxy-backend-addresses = 10.157.3.54:3306 (master server)
proxy-lua-script=/mnt/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua proxy-address = 10.15.15.17:4040 log-file = /mnt/mysql-proxy/mysql-proxy.log log-level = error daemon = true
启动 /mnt/mysql-proxy/bin/mysql-proxy --defaults-file=/mnt/mysql-proxy/mysql-proxy.cnf
如果报错 mysql-proxy: error while loading shared libraries: libmysql-chassis.so.0: cannot open shared object file: No such file or directory
先执行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/mysql-proxy/lib/
参考官网 http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy.html
相关文章推荐
- Navicat通过云主机内网连接阿里云RDS
- 阿里云数据库开通内网连接后,外网访问连接内网数据库的实现
- Native for Mysql 连接阿里云数据库(内网连接和外网连接。)
- Lniux、阿里云配置数据库连接
- 如何使用Navicat连接阿里云内网数据库。
- 阿里云如何配置数据库远程连接
- plsql配置远程连接数据库
- 配置连接远程测试库(其他数据库)
- 通过VS中的数据源选择对话框简单实现数据库连接配置[图]
- MyBatis数据库连接的配置SQLMapConfig.xml文件
- 云计算之路-阿里云上:RDS数据库连接数过万引发故障,主备库切换后恢复正常
- tomcat连接池l配置数据库连接取备注
- 如何读取配置文件并连接后台数据库,且对数据库进行操作实例(查询或修改等)
- jdbc工具类通过配置文件连接数据库学习理解
- 关于数据库连接组件Proxool配置及使用(一)
- 配置ORACLE 客户端连接到数据库
- C3p0数据库连接池配置详解与数据库连接建立
- asp.net数据库配置文件连接字符串的两种方式
- spring 集成hibernate 连接多数据库配置
- 简单调用VS自带的数据源选择对话框实现数据库连接字符串配置