- 浏览: 253146 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wls212:
...
数据库查询优化技巧(MySQL) -
wang1352083:
来看几个实例 1、客户/订单/订单项目 ...
MongoDB Schema Design(MongoDB模式设计)(中文简述版) -
RunUpwind:
感谢,对我很有帮助!
ruby install相关(远程安装时出现HTTP Response 302的解决办法) -
yinmang1215:
不错,感觉这些方面的文档真是稀缺,谢了。
MongoDB+Rails的Demo实现 -
fireflyman:
rake -T
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 19171、 问题:没法输出控制台日志。(控制台日志可以统计分 ... -
mysql用户管理
2012-02-27 16:30 1398网络转载:http://www.cnblogs.com/blo ... -
数据库查询优化技巧(MySQL)
2011-12-19 13:42 1715在数据库程序的开发中,性能是最让人关心和担心的问题之一, ... -
mysql服务器性能调优工具
2011-12-19 12:10 1925数据库服务器的性能在网络服务中往往起着至关重要的作用,通常 ... -
mysql主从服务器搭建配置
2011-12-19 12:07 1738主服务器的(db1)配置 ●my.cnf设置 [mysql ... -
mysql中如何获得数据库的大小
2011-07-15 13:33 2477转载:http://zhidao.zgsj.com/artic ... -
mysql中常用命令收集
2011-04-22 17:13 1143①查看表中各列的具体属性: show full col ... -
mysql慢查询功能介绍及其相关工具的使用
2011-03-07 11:43 3892【Backgroud】在以MySQL为 ... -
MySQL中查看表状态
2011-02-18 17:19 2641#MySQL中查看表状态 SHOW TABLE STATUS ... -
MySQL-Proxy负载平衡测试遇到的问题及其分析 && MySQL-Proxy工作机制
2010-12-23 16:19 4269(1)MySQL-Proxy负载平衡测试中遇到的问题及其分析 ... -
mysql中查看该台数据库服务器执行的查询次数
2010-11-26 17:26 2071mysql> show status like & ... -
mysql中GROUP BY的高级应用
2010-10-18 19:53 2002有SQL文如下所示: SELECT place_id, con ... -
mysql中GROUP BY结合GROUP_CONCAT的使用
2010-10-18 18:59 1656有查询语句如下所示: select id, type, si ... -
MySql查看数据库和表的创建语句
2010-07-27 16:59 19971博文参照:http://zhuixue.iteye.c ... -
查看mysql服务器的端口
2010-07-21 17:13 3350##########查看mysql服务器的端口####### ... -
MySQL Sandbox的安装
2010-07-13 17:37 1798安装MySQLSandbox 下载地址:https://la ... -
利用MySQL Sandbox同一台机器上创建多个MySQL服务器
2010-07-13 17:33 2742创第一个MySQL服务器---sp ... -
USING SPIDER (Simple case)
2010-07-12 17:28 1568利用spider storage engine的简单实 ... -
spider storage engine实践时遇到[Mysql::Error: This xid is already exist: COMMIT]的解决办法
2010-07-07 17:16 2085参考博文:http://ilgnep.iteye.com/bl ... -
[MySQL Error number:1030]解决办法
2010-07-07 17:03 5631参考博文: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所需的工具及其重要性。 1. **操作系统兼容性**: MySQL Proxy支持多种操作系统,包括Linux、...
以下是对MySQL Proxy安装配置及其相关知识点的详细说明: 1. **安装过程**: - 首先,从MySQL官方下载页面获取适合您操作系统的MySQL Proxy版本。例如,在提供的文件中,使用的是`mysql-proxy-0.6.0-linux-rhas4-...
安装和使用 MySQL Proxy 需要注意以下几点: 1. **配置文件**:默认情况下,MySQL Proxy 使用 `proxy.conf` 文件进行配置,包括代理端口、后端服务器地址等信息。 2. **Lua 脚本**:可以通过 Lua 脚本自定义代理...
首先,你需要从MySQL官网下载对应操作系统的MySQL Proxy二进制包,然后解压并进行安装。安装过程通常包括设置环境变量、创建数据目录以及启动服务。 配置MySQL Proxy主要涉及到两个文件:`proxy.lua`和`log.lua`。`...
本资料包“windows++mysql-proxy全部数据包”显然是针对Windows平台的MySQL Proxy安装和配置资源,包含了启动脚本、必要的运行库以及MySQL Proxy的可执行文件。 首先,让我们详细了解MySQL Proxy。MySQL Proxy是一...
安装完 Lua 后,我们开始安装 MySQL Proxy。在下载合适的版本(基于你的系统架构,可能是 32 位或 64 位)后,解压并复制到指定目录。例如,对于 32 位系统,你可以从 ...
cp -r mysql-proxy-0.8.0-linux-rhel5-x86-32bit /usr/local/mysql-proxy cd /usr/local/mysql-proxy/share/doc/mysql-proxy ``` - 修改配置文件 `rw-splitting.lua`,例如: ```lua if not proxy.global....
MySQL Proxy 的安装通常包括编译源码或者直接使用预编译的二进制包。在安装过程中,需要确保系统已经安装了Lua和glib库。配置时,可以使用`--proxy-backend-addresses`参数指定后端数据库服务器地址,`--proxy-read-...
MySQL Proxy是一款轻量级的开源工具,主要用于MySQL数据库的读写分离、IO优化以及实现一定的负载均衡。在大型系统中,数据库通常是性能瓶颈的关键因素,MySQL Proxy的出现就是为了缓解这一问题,提高系统的整体效率...
4. **安装 MySQL Proxy**:从源码编译 MySQL Proxy,创建自定义的安装目录,并使用 `./configure` 和 `make` 命令来编译和安装。 完成以上步骤后,MySQL Proxy 应该已经成功安装。接下来,可以通过编写 Lua 脚本来...
MySQL Proxy 是一个轻量级的中间件,用于在 MySQL 客户端和服务器之间提供额外的功能,如负载均衡、故障切换、数据过滤等。然而,使用 MySQL Proxy 时可能会遇到一些问题,本篇文章将详细讨论这些问题及其解决方案。...
通过以上步骤,我们不仅成功安装了 MySQL Proxy 并配置了读写分离与负载均衡,还对 MySQL Proxy 的基本使用进行了简单的介绍。MySQL Proxy 作为一款强大的中间件工具,极大地简化了数据库集群的管理和维护工作。对于...
4. 安装 mysql-proxy:将下载的 mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz 解压到 /opt/mysql-proxy 目录下,设置环境变量:export PATH=$PATH:/opt/mysql-proxy/mysql-proxy-0.8.5/bin 读写分离配置: 1. ...
MySQL Proxy应用入门 1 安装MySQL Proxy MySQL Proxy应用入门 2 MySQL Proxy配置选项 MySQL Proxy应用入门 3 使用MySQL Proxy MySQL UDF Mysql Proxy安装配置测 MySQL5 5 Semi synchronous Replication(半同步复制...
标题中的“Python开发的MySQL Proxy:Angel Proxy”指的是一个用Python编程语言编写的数据库中间件,它的主要功能是实现MySQL数据库的读写分离。在大型系统中,为了提高数据库的性能和可扩展性,通常会采用读写分离...
- **安装MySQL客户端**:安装MySQL客户端是为了让mysql-proxy能够顺利连接MySQL服务器。 3. **安装mysql-proxy**:按照文档中的步骤完成mysql-proxy的安装。 4. **配置mysql-proxy**:通过命令行指定mysql-proxy...
- 在大多数 Linux 发行版中,可以通过包管理器(如 yum 或 apt)安装 MySQL Proxy。 - 也可以从 MySQL 官方网站下载源代码进行编译安装。 - **配置文件**:MySQL Proxy 的主要配置文件通常位于 `/etc/mysql-proxy....