MySQL Proxy Version 0.8.0安装手顺

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中,还需要加入下面的配置项才能启动成功:
[color=red]admin-username=name
admin-password=pwd
admin-lua-script=/usr/local/mysql_proxy_0.8.1/lib/mysql-proxy/lua/admin.lua[/color]
(上述的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

[color=green]
#更改/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
[/color]

启动方式2(推荐)
(1)起動スクリプトを修正する
vi /etc/init.d/mysql-proxy
ファイルの内容
[color=green]请参照:http://forge.mysql.com/wiki/MySQL_Proxy_init [/color]

(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


[b][color=red]遇到问题及解决办法:[/color][/b]

[b]问题:[/b]
在启动配置文件(/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似乎被无视掉了,具体原因还在调查中。。。。。。

[b]解决办法:[/b]
方案①
更改配置文件的写法:
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 [color=green]#注意:逗号后不可有空格。[/color]
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值