MySQL Proxy配置选项

MySQL Proxy配置选项

  启动MySQL Proxy对应的命令行正是mysql-proxy,位于安装路径/bin目录下,mysql-proxy命令行也提供了一些参数,用来实现不同的功能,在启动MySQL Proxy前必须对部分参数进行设置,比如监控服务器地址,名称,端口等。

1.1 –help 得到的文档

  直接执行mysql-proxy命令,附加–help-all参数,可以查看到该命令支持的所有参数,及调用语法:

[root@rhel5u3 ~]# mysql-proxy --help-all

Usage:

mysql-proxy [OPTION...] - MySQL Proxy

Help Options:

-h, --help Show help options

--help-all Show all help options

--help-admin Show options for the admin-module

--help-proxy Show options for the proxy-module

admin-module

--admin-address=listening address:port of the admin-server (default: :4041)

--admin-username=username to allow to log in

--admin-password=password to allow to log in

--admin-lua-script=script. to execute by the admin plugin

proxy-module

-P, --proxy-address=listening address:port of the proxy-server (default: :4040)

-r, --proxy-read-only-backend-addresses=address:port of the remote slave-server (default: not set)

-b, --proxy-backend-addresses=address:port of the remote backend-servers (default: 127.0.0.1:3306)

--proxy-skip-profiling disables profiling of queries (default: enabled)

--proxy-fix-bug-25371 fix bug #25371 (mysqld > 5.1.12) for older libmysql versions

-s, --proxy-lua-script=filename of the lua script. (default: not set)

--no-proxy don¨t start the proxy-module (default: enabled)

--proxy-pool-no-change-user don¨t use CHANGE_USER to reset the connection coming from the pool (default: enabled)

Application Options:

-V, --version Show version

--defaults-file=configuration file

--verbose-shutdown Always log the exit code when shutting down

--daemon Start in daemon-mode

--user=Run mysql-proxy as user

--basedir=Base directory to prepend to relative paths in the config

--pid-file=PID file in case we are started as daemon

--plugin-dir=path to the plugins

--plugins=plugins to load

--log-level=(error|warning|info|message|debug) log all messages of level ... or higher

--log-file=log all messages in a file

--log-use-syslog log all messages to syslog

--log-backtrace-on-crash try to invoke debugger on crash

--keepalive try to restart the proxy if it crashed

--max-open-files maximum number of open files (ulimit -n)

--event-threads number of event-handling threads (default: 1)

--lua-path=<...> set the LUA_PATH

--lua-cpath=<...> set the LUA_CPATH

从语法可以看得出来,基本上该命令行的使用是非常简单的,常规需求仅通过命令行+不同参数的组合即可实现。MySQL Proxy与MySQL系出同门,那么参数的指定方式自然也很类型,上述命令行中显示的参数,也可以指定在配置文件中,这个配置文件与mysql的my.cnf很类似,甚至完全可以将参数就放在my.cnf中,在调用mysql-proxy命令时通过–defaults-file指定参数文件,参数文件中参数配置规则也与mysql相同,例如:

[mysql-proxy]

admin-address = host:port

admin-user = root

admin-pass = verysafe

..........

最上方的[mysql-proxy]标识参数的作用域,参数文件中指定参数不需要加–前缀。

下面就各个参数的不同意义来逐个说明,mysql-proxy支持的参数可以分成四类:

2.1 帮助相关参数

与帮助相关的参数共有四个:

  • –help:显示常用的帮助选项;
  • –help-all:显示全部帮助选项;
  • –help-admin:显示管理模块的帮助选项;
  • –help-proxy:显示代理模块的帮助选项;
    2.2 管理相关参数
  • –admin-address=host:port:指定管理员主机及服务端口,默认值为localhost:4041。
  • –admin-lua-script=script_file:指定管理模块的lua脚本文件。
  • –admin-username=user:指定登录到mysql-proxy管理界面的用户名。
  • –admin-password=pass:指定登录到mysql-proxy管理界面的用户密码。

2.3 代理相关参数

  • –proxy-address=host:port:简写形式-P
    指定监听服务的主机名(或IP地址)及服务端口,默认端口号为4040。

  • –proxy-backend-addresses=host:port,简写形式-b
    指定监听的主机名(或IP地址)及端口,指定的主机为代理实现连接的MySQL服务器。可以通过本参数同时指定多个服务器的方式,实现mysql的负载轮循。如果监听的mysql服务有多个,MySQL代理会自动按照循环方式分配客户端连接到后台的mysql服务中。比如说当前设置了a和b两项mysql服务,当第一个客户端发起连接请求时,会连接到服务a,第二个连接请求则连接到服务b,而第三个连接请求又连接服务a,以此循环。

需要注意本参数在命令行与参数文件中使用是稍有差异,主要表现中同时指定多个服务的情况下。

当使用命令行模式调用本参数时,参数后只能跟一个服务,如果要代理的服务有多个,那么必须同时指定多个参数,比如说:

mysql-proxy --proxy-backend-addresses 192.168.0.1:3306 --proxy-backend-addresses 192.168.0.2:3306

如果是使用配置文件指定本参数的话,就可以在一个参数中指定多个值了,参数值之间以,(逗号)分隔即可,例如:

proxy-backend-addresses = 192.168.0.1:3306, 192.168.0.2:3306
  • –proxy-read-only-backend-addresses=host:port:简写形式-r,
    指定监听的主机名(或IP地址)及端口,该服务器将仅用于提供只读服务。

注意:

只有当服务器对应的内部结构(详见proxy.global.backends)进行了相关配置,可以通过检查backend的type列确定其连接的类型时,设置本参数才有效。因此,本选项仅适用于指定lua脚本文件,允许使用不同backend类型的情况。
* –proxy-lua-script=filename:简写形式-s
指定加载的lua脚本文件路径,注意这个脚本文件并非mysql-proxy启动时即加载和解析,而是直到第一个连接创建时才解析,而后每次连接均会重新加载,也就是说在mysql-proxy运行期间可以动态修改lua的脚本文件,保存后会在下次连接创建时即时生效。

  • –proxy-pool-no-change-user
    当从连接池(proxy-backend-addresses列表)中再次获取连接时,禁止调用MySQL CHANGE_USER接口。默认情况下允许。

  • –proxy-fix-bug-25371
    修复bug#25371 (mysqld > 5.1.12)的旧libmysql问题。

  • –proxy-skip-profiling
    禁止分析查询(跟踪时间统计信息),默认情况下允许。

  • –no-proxy:禁用代理模块。

2.4 调用相关的参数

  • –basedir:指定mysql-proxy程序运行的基础目录,本参数指定的路径必须是绝对路径,如果指定相对路径的话,mysql-proxy执行时会抛出异常信息。
  • –daemon:以守护进程模式运行。
  • –defaults-file:指定参数文件路径,如果不指定本参数,则表示参数由命令行执行时指定。
  • –event-threads:指定事件处理的线程数,默认为1。
  • –keepalive:创建一个守护进程,当发现mysql-proxy进程崩溃则自动重新启动,windows平台下该参数无效。
  • –verbose-shutdown: 当mysql-proxy进程崩溃时, 记录本次执行的sql 代码到日志
  • –log-backtrace-on-crash:当mysql-proxy进程崩溃时调用debug生成跟踪信息。
  • –log-file:指定日志文件,记录mysql-proxy运行过程中的信息。
  • –log-level:日志记录级别,有error/warning/info/message/debug几种选择。
  • –log-use-syslog:记录mysql-proxy错误日志到系统日志中,仅用于linux/unix平台。
  • –lua-cpah:设置LUA_CPATH环境变量
  • –lua-path:设置LUA_PATH环境变量
  • –max-open-files:指定mysql-proxy最大能打开的文件数
  • –pid-file:指定存储pid信息的文件(仅用于守护模式)
  • –plugin-dir:指定插件所在路径;
  • –plugins:指定加载的插件;
  • –user:指定运行mysql-proxy的用户。
  • –version:简写形式-V,显示mysql-proxy的版本信息

转自360doc–見龍在田

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值