`
like.eagle
  • 浏览: 248644 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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中,还需要加入下面的配置项才能启动成功:
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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics