- 浏览: 248644 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wls212:
...
数据库查询优化技巧(MySQL) -
wang1352083:
来看几个实例 1、客户/订单/订单项目 ...
MongoDB Schema Design(MongoDB模式设计)(中文简述版) -
RunUpwind:
感谢,对我很有帮助!
ruby install相关(远程安装时出现HTTP Response 302的解决办法) -
yinmang1215:
不错,感觉这些方面的文档真是稀缺,谢了。
MongoDB+Rails的Demo实现 -
fireflyman:
<pre name="code" c ...
Rake命令大全
MySQL Proxy Version 0.8.0安装手顺
①ファイルを解凍する
tar -zxvf mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit.tar.gz
②フォルダー(/usr/local/)にファイルを動くする
mv mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit /usr/local/mysql_proxy_0.8.0/
③スタートのスクリプトを作成する
vi /etc/mysql-proxy.cnf
スクリプトの内容↓
[mysql-proxy]
daemon = true
keepalive = true
proxy-backend-addresses = 192.168.1.104:3306
proxy-read-only-backend-addresses = 192.168.1.110:3306
proxy-read-only-backend-addresses = 192.168.1.111:3306
proxy-lua-script = /usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua
log-file = /usr/local/mysql_proxy_0.8.0/mysql-proxy-0.8.0.log
log-level = debug
#如果是0.8.1版的mysql-proxy中,还需要加入下面的配置项才能启动成功:
admin-username=name
admin-password=pwd
admin-lua-script=/usr/local/mysql_proxy_0.8.1/lib/mysql-proxy/lua/admin.lua
(上述的name和pwd可随意配置,此处的配置是为了创建一个用于管理mysql的管理员账号)
否则log-file中会出现错误信息:
2010-12-15 14:21:10: (critical) admin-plugin.c:569: --admin-username needs to be set
2010-12-15 14:21:10: (critical) mainloop.c:267: applying config of plugin admin failed
2010-12-15 14:21:10: (critical) mysql-proxy-cli.c:596: Failure from chassis_mainloop. Shutting down.
#########关于MySQL Proxy Log配置的说明################
http://dev.mysql.com/doc/refman/5.6/en/mysql-proxy-configuration.html#option_mysql-proxy_log-file
相关参数有三个:
--log-level=(error|warning|info|message|debug) log all messages of level ... or higer
--log-file=<file> log all messages in a file
--log-use-syslog log all messages to syslog. (true|false)
小提示:
一般情况下log-file和log-use-syslog最好不要同时设置:
log-file被指定时,是将LOG写入指定的文件;而log-use-syslog设置为true时,是将LOG写入系统LOG;
#######################################################
④TCP訪問権限の設定:iptablesの設定
$ /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4040 -j ACCEPT
$ /etc/init.d/iptables save active
$ /sbin/service iptables restart
⑤実行権限をあげる
chmod 0660 /etc/mysql-proxy.cnf
⑥スクリプトを起動する
启动方式1(不推荐)
/usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
#更改/usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua中is_debug的值为true后,
#如果利用如下的启动命令,可以将控制台信息输出到文件cn.log中。
#可以通过该LOG看出MySQL Proxy的负载平衡状况。
/usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf > /usr/local/mysql_proxy_0.8.0/cn.log
启动方式2(推荐)
(1)起動スクリプトを修正する
vi /etc/init.d/mysql-proxy
ファイルの内容
请参照:http://forge.mysql.com/wiki/MySQL_Proxy_init
(2)起動
/etc/init.d/mysql-proxy start
⑦起動後の確認をする
(1)error info can be ignored
(critical) chassis-limits.c:81: could not raise RLIMIT_NOFILE to 8192, Invalid argument (22). Current limit still 1024.
(2)プロセスの確認
ps aux|grep mysql-proxy
遇到问题及解决办法:
问题:
在启动配置文件(/etc/mysql-proxy.cnf)中配置了一主(rdb1)二从(rdb3,rdb4)三台数据库服务器↓,但是执行查询语句的测试时所有的查询都集中在第二台从服务器(rdb4)中。
proxy-backend-addresses = 192.168.1.104:3306 #rdb1......server1
proxy-read-only-backend-addresses = 192.168.1.110:3306 #rdb3......server2
proxy-read-only-backend-addresses = 192.168.1.111:3306 #rdb4......server3
更改成如下配置后,执行查询语句的测试时所有的查询也集中在第二台从服务器(rdb3)中。
proxy-backend-addresses = 192.168.1.104:3306 #rdb1......server1
proxy-read-only-backend-addresses = 192.168.1.111:3306 #rdb4......server2
proxy-read-only-backend-addresses = 192.168.1.110:3306 #rdb3......server3
根据上面的状况以及Log分析,可以得知MySQL Proxy 0.8.0启动时,只启动了server1和server3。
server2似乎被无视掉了,具体原因还在调查中。。。。。。
解决办法:
方案①
更改配置文件的写法:
vi /etc/mysql-proxy.cnf
[mysql-proxy]
daemon = true
keepalive = true
proxy-backend-addresses = 192.168.1.104:3306
proxy-read-only-backend-addresses = 192.168.1.111:3306,192.168.1.110:3306 #注意:逗号后不可有空格。
proxy-lua-script = /usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua
log-file = /usr/local/mysql_proxy_0.8.0/mysql-proxy-0.8.0.log
log-level = debug
方案②
主从服务器配置放在启动命令中,其他的配置仍放在配置文件中。
shell> /usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --proxy-backend-addresses 192.168.1.104:3306 --proxy-read-only-backend-addresses 192.168.1.111:3306 --proxy-read-only-backend-addresses 192.168.1.110:3306 --defaults-file=/etc/mysql-proxy.cnf > /usr/local/mysql_proxy_0.8.0/cn.log
①ファイルを解凍する
tar -zxvf mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit.tar.gz
②フォルダー(/usr/local/)にファイルを動くする
mv mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit /usr/local/mysql_proxy_0.8.0/
③スタートのスクリプトを作成する
vi /etc/mysql-proxy.cnf
スクリプトの内容↓
[mysql-proxy]
daemon = true
keepalive = true
proxy-backend-addresses = 192.168.1.104:3306
proxy-read-only-backend-addresses = 192.168.1.110:3306
proxy-read-only-backend-addresses = 192.168.1.111:3306
proxy-lua-script = /usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua
log-file = /usr/local/mysql_proxy_0.8.0/mysql-proxy-0.8.0.log
log-level = debug
#如果是0.8.1版的mysql-proxy中,还需要加入下面的配置项才能启动成功:
admin-username=name
admin-password=pwd
admin-lua-script=/usr/local/mysql_proxy_0.8.1/lib/mysql-proxy/lua/admin.lua
(上述的name和pwd可随意配置,此处的配置是为了创建一个用于管理mysql的管理员账号)
否则log-file中会出现错误信息:
2010-12-15 14:21:10: (critical) admin-plugin.c:569: --admin-username needs to be set
2010-12-15 14:21:10: (critical) mainloop.c:267: applying config of plugin admin failed
2010-12-15 14:21:10: (critical) mysql-proxy-cli.c:596: Failure from chassis_mainloop. Shutting down.
#########关于MySQL Proxy Log配置的说明################
http://dev.mysql.com/doc/refman/5.6/en/mysql-proxy-configuration.html#option_mysql-proxy_log-file
相关参数有三个:
--log-level=(error|warning|info|message|debug) log all messages of level ... or higer
--log-file=<file> log all messages in a file
--log-use-syslog log all messages to syslog. (true|false)
小提示:
一般情况下log-file和log-use-syslog最好不要同时设置:
log-file被指定时,是将LOG写入指定的文件;而log-use-syslog设置为true时,是将LOG写入系统LOG;
#######################################################
④TCP訪問権限の設定:iptablesの設定
$ /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4040 -j ACCEPT
$ /etc/init.d/iptables save active
$ /sbin/service iptables restart
⑤実行権限をあげる
chmod 0660 /etc/mysql-proxy.cnf
⑥スクリプトを起動する
启动方式1(不推荐)
/usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
#更改/usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua中is_debug的值为true后,
#如果利用如下的启动命令,可以将控制台信息输出到文件cn.log中。
#可以通过该LOG看出MySQL Proxy的负载平衡状况。
/usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf > /usr/local/mysql_proxy_0.8.0/cn.log
启动方式2(推荐)
(1)起動スクリプトを修正する
vi /etc/init.d/mysql-proxy
ファイルの内容
请参照:http://forge.mysql.com/wiki/MySQL_Proxy_init
(2)起動
/etc/init.d/mysql-proxy start
⑦起動後の確認をする
(1)error info can be ignored
(critical) chassis-limits.c:81: could not raise RLIMIT_NOFILE to 8192, Invalid argument (22). Current limit still 1024.
(2)プロセスの確認
ps aux|grep mysql-proxy
遇到问题及解决办法:
问题:
在启动配置文件(/etc/mysql-proxy.cnf)中配置了一主(rdb1)二从(rdb3,rdb4)三台数据库服务器↓,但是执行查询语句的测试时所有的查询都集中在第二台从服务器(rdb4)中。
proxy-backend-addresses = 192.168.1.104:3306 #rdb1......server1
proxy-read-only-backend-addresses = 192.168.1.110:3306 #rdb3......server2
proxy-read-only-backend-addresses = 192.168.1.111:3306 #rdb4......server3
更改成如下配置后,执行查询语句的测试时所有的查询也集中在第二台从服务器(rdb3)中。
proxy-backend-addresses = 192.168.1.104:3306 #rdb1......server1
proxy-read-only-backend-addresses = 192.168.1.111:3306 #rdb4......server2
proxy-read-only-backend-addresses = 192.168.1.110:3306 #rdb3......server3
根据上面的状况以及Log分析,可以得知MySQL Proxy 0.8.0启动时,只启动了server1和server3。
server2似乎被无视掉了,具体原因还在调查中。。。。。。
解决办法:
方案①
更改配置文件的写法:
vi /etc/mysql-proxy.cnf
[mysql-proxy]
daemon = true
keepalive = true
proxy-backend-addresses = 192.168.1.104:3306
proxy-read-only-backend-addresses = 192.168.1.111:3306,192.168.1.110:3306 #注意:逗号后不可有空格。
proxy-lua-script = /usr/local/mysql_proxy_0.8.0/share/doc/mysql-proxy/rw-splitting.lua
log-file = /usr/local/mysql_proxy_0.8.0/mysql-proxy-0.8.0.log
log-level = debug
方案②
主从服务器配置放在启动命令中,其他的配置仍放在配置文件中。
shell> /usr/local/mysql_proxy_0.8.0/bin/mysql-proxy --proxy-backend-addresses 192.168.1.104:3306 --proxy-read-only-backend-addresses 192.168.1.111:3306 --proxy-read-only-backend-addresses 192.168.1.110:3306 --defaults-file=/etc/mysql-proxy.cnf > /usr/local/mysql_proxy_0.8.0/cn.log
发表评论
-
mysql proxy V0.8.2 测试问题记录
2012-03-08 15:40 18531、 问题:没法输出控制台日志。(控制台日志可以统计分 ... -
mysql用户管理
2012-02-27 16:30 1360网络转载:http://www.cnblogs.com/blo ... -
数据库查询优化技巧(MySQL)
2011-12-19 13:42 1660在数据库程序的开发中,性能是最让人关心和担心的问题之一, ... -
mysql服务器性能调优工具
2011-12-19 12:10 1861数据库服务器的性能在网络服务中往往起着至关重要的作用,通常 ... -
mysql主从服务器搭建配置
2011-12-19 12:07 1679主服务器的(db1)配置 ●my.cnf设置 [mysql ... -
mysql中如何获得数据库的大小
2011-07-15 13:33 2422转载:http://zhidao.zgsj.com/artic ... -
mysql中常用命令收集
2011-04-22 17:13 1076①查看表中各列的具体属性: show full col ... -
mysql慢查询功能介绍及其相关工具的使用
2011-03-07 11:43 3852【Backgroud】在以MySQL为 ... -
MySQL中查看表状态
2011-02-18 17:19 2595#MySQL中查看表状态 SHOW TABLE STATUS ... -
MySQL-Proxy负载平衡测试遇到的问题及其分析 && MySQL-Proxy工作机制
2010-12-23 16:19 4216(1)MySQL-Proxy负载平衡测试中遇到的问题及其分析 ... -
mysql中查看该台数据库服务器执行的查询次数
2010-11-26 17:26 2030mysql> show status like & ... -
mysql中GROUP BY的高级应用
2010-10-18 19:53 1962有SQL文如下所示: SELECT place_id, con ... -
mysql中GROUP BY结合GROUP_CONCAT的使用
2010-10-18 18:59 1606有查询语句如下所示: select id, type, si ... -
MySql查看数据库和表的创建语句
2010-07-27 16:59 19895博文参照:http://zhuixue.iteye.c ... -
查看mysql服务器的端口
2010-07-21 17:13 3309##########查看mysql服务器的端口####### ... -
MySQL Sandbox的安装
2010-07-13 17:37 1751安装MySQLSandbox 下载地址:https://la ... -
利用MySQL Sandbox同一台机器上创建多个MySQL服务器
2010-07-13 17:33 2684创第一个MySQL服务器---sp ... -
USING SPIDER (Simple case)
2010-07-12 17:28 1526利用spider storage engine的简单实 ... -
spider storage engine实践时遇到[Mysql::Error: This xid is already exist: COMMIT]的解决办法
2010-07-07 17:16 2033参考博文:http://ilgnep.iteye.com/bl ... -
[MySQL Error number:1030]解决办法
2010-07-07 17:03 5585参考博文:http://www.webjx.com/dat ...
相关推荐
mysql-proxy 安装需要依赖已有的mariadb或mysql 中的mysql_config yum install mariadb yum install mariadb-devel 解压资源进入后 ./configure make && make install
MySQL Proxy 实现负载均衡测试 MySQL Proxy 实现负载均衡测试
mysql proxy搭建 mysql proxy 搭建实验文档,测试可使用
mysql-proxy-0.8.5-windows-x86-32bit. 官网下载挺麻烦的,直接下载下来备份。 mysql proxy for windows
安装mysql-proxy所需工具
MySQL Proxy应用入门 1 安装MySQL Proxy MySQL Proxy应用入门 2 MySQL Proxy配置选项 MySQL Proxy应用入门 3 使用MySQL Proxy MySQL UDF Mysql Proxy安装配置测 MySQL5 5 Semi synchronous Replication(半同步复制...
mysql-proxy 架构 读写分离的基本文档 目前可以部署使用
二、mysql-proxy安装 yum直接安装 [root@okingt ~]# yum install mysql-proxy 安装完毕可以直接查看版本号 [root@okingt ~]# mysql-proxy -V 三、mysql-proxy配置 设置权限 编辑文件/etc/mysql-
实现mysql读写分离。 forking socket模型。
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1969432
windows++mysql-proxy全部数据包 mysql代理
MySQL Proxy最壮大的一项功能是告终“读写离别(Read/Write Splitting)”。它的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的改变同步到集群中的从数据库。 0.必备...
双Master都安装MySQL Proxy和Heartbeat(也可以单独安装MySQL Proxy,Heartbeat跟MySQL Proxy装在一起),多个Slave跟每个Master进行多主单从模式的数据同步,Application通过Heartbeat浮动IP访问数据库。
使用mysql-proxy实现mysql读写分离
mysql-proxy(mysql代理).txt 主要是配置 linux 环境下mysql的代理设置功能
mysql proxy 教程
根据网上的资源,自己也跟着测试了一番,还有些问题,请见谅!
Mysql Proxy 实现mysql读写分离.pdf
此文档中详细记载了,mysql proxy问题的解决方法,希望可以帮助到你!