5.2、OneProxy常用参数说明

OneProxy的所有可用参数可通过oneproxy --help-all查看。所有参数均可以写入文件中,由OneProxy启动时加载

5.2.1、基本参数

--user=<user>

以指定的用户运行oneproxy

--pid-file=<file>

指定oneproxy的进程pid文件路径

--log-level=(error|warning|info|message|debug)

指定oneproxy的日志输出级别

--log-file=<file>

指定日志文件的路径

--keepalive

开启进程守护,当oneproxy进程挂掉后重启oneproxy

--max-open-files

显示指定oneproxy的最大文件句柄数,默认Soft Limit为32768,Hard Limit为系统指定的大小

--event-threads

指定oneproxy的线程数,默认为8,建议为CPU的processor数量

--max-idle-time

在连接池中的连接最大空闲时间,指oneproxy与backends之间的连接,数据库中interactive_timeout的值要大于(max-idle-time+10),max-idle-time最大值为1800秒

--proxy-address=<host:port>

设定oneproxy提供服务的监听端口,在单机环境下,可指定监听IP及端口;在高可用环境下可忽略IP,例如--proxy-address=:3306

--proxy-user-list=<user:passwd@dbname>

设定在当前group中访问dbname的用户名和密码,其中密码是经过管理接口中passwd进行加密的字符串。建议在管理接口中使用passwd ‘password’;密码需用引号引起来,否则在使用特殊字符时密码会被截断

--proxy-database=<dbname>

设置通过oneproxy访问的默认数据库,默认为test库

--mysql-version=<version>

指定后端数据库的版本号,默认为5.5.18,此处主要是防止高版本的JDBC驱动连接oneproxy时,JAVA应用日志里出现“Caused by: java.sql.SQLException: Unknown system variable 'tx_read_only'”的错误导致应用无法启动。

--proxy-connect-timeout=<number>

设定oneproxy与后端建立连接的超时时间,默认为2秒

--proxy-read-timeout=<number>

设定oneproxy对后端进行读操作的超时时间,默认8小时

--proxy-write-timeout=<number>

设定oneproxy对后端进行写操作的超时时间,默认8小时

--admin-address=<host:port>

设定oneproxy管理接口的监听地址及端口

--admin-username=<string>

设定允许访问管理接口的用户名

--admin-password=<string>

设定允许访问管理接口的用户登陆密码

--proxy-license=<license>

针对企业版的注册码

--proxy-charset=<charset>

设定默认的字符集,默认为utf8_general_ci,可通过登陆管理接口并输入list charset查看oneproxy支持的所有字符集

5.2.2、读写分离

--proxy-master-addresses=<host:port@servergroup>

设定MySQL主服务器的地址、端口号及所属集群,例如

--proxy-master-addresses=172.16.4.1:3306@cisco

--proxy-slave-addresses=<host:port@servergroup>

设定MySQL从服务器的地址、端口号及所属集群,例如

--proxy-slave-addresses=172.16.4.2:3306@cisco

--proxy-group-policy=<groupname:policy>

设定在一个group中,数据库的读写分离策略,当前oneproxy支持12种读写分离策略

支持一主多从场景的策略

master_only:读写都在master

read_failover:读写都在master,当master挂掉的时候读切到slaves

read_slave:写在master,读在所有slaves

read_balance:写在master,读从master以及slaves走

big_slave:写以及简单查询走master,复杂查询走slaves

big_balance:写及简单查询走master,复杂查询走master及slaves

数据分片场景的策略

write_shard:多组master的shard环境中,读写在任意master

read_shard:一组多从的shard环境中,写在master,读走其他节点

Percona XtraDB Cluster/MariaDB Galera Cluster环境

write_balance

write_other

write_failover

双主环境

read_other

5.2.3、主从延迟检测

--proxy-replication-check

开启oneproxy的主从延迟精确检测功能,默认会在test库中创建一张表。原理类似pt-heartbeat

--proxy-group-slavedelay=<servergroup:seconds>

设定在一个group中的slave,在检测到复制延迟到达设置的值之后,自动剔除该节点,在延迟小于设定值时动态加入服务

--repadmin-username=<string>

设置用于主从检测的用户名

--repadmin-password=<string>

设置用于主从检测的用户名密码

5.2.4、高可用

--vip-address=<ip/dev>

在多节点HA环境下,设置提供服务的VIP地址以及VIP绑定的dev

--remote-address=<host:port>

设定在HA环境下,设置其他节点的管理接口IP和管理端口

--proxy-server-id=<number>

设置oneproxy的ID

5.2.5、性能抓取

--proxy-trans-debug

开启是否事务调试功能,帮助架构师、DBA分析在业务运行时的各个表之间所关联的query和trx的关系

--proxy-log-sqlerror

开启记录sql error

--proxy-sql-debug

开启sql debug功能

5.3、OneProxy实例管理

5.3.1、OneProxy单机多实例

通过附录的脚本即可实现单机多个OneProxy实例

5.3.2、OneProxy管理接口

OneProxy管理接口的连接

mysql -uadminuser-padminpasswd -hOneProxyIP -POneProxyadminport

其中

adminuser:由参数admin-username指定,默认用户为admin

adminpasswd:由参数admin-password指定,默认为OneProxy

OneProxyIP:为OneProxy监听的服务器IP

OneProxyadminport:为OneProxy监听的管理端口,默认为4041

通过OneProxy的管理端口,通过动态调整运行参数(登陆后通过list命令可查看所有支持的指令),可满足如下需求:

1、动态的调整Group中backend的最大最小连接池数量

2、动态调整Group中读写分离策略

3、动态调整Group中的安全策略

最新文章

  1. adb -s emulator-5554 install JDKCast-PAP.apk
  2. SQlServer第一天
  3. Unity3D热更新全书-脚本(三) C#LightEvil语法与调试
  4. Android alertdialog实现确认退出
  5. log4net自定义字段写入SqlServer数据库 ASP.net
  6. 在PHP中利用wsdl创建标准webservice
  7. URAL 1019 - Line Painting
  8. flex学习网站地址
  9. c#或获取系统的特殊路径,如我的文档等
  10. MFC窗口的父子关系和层级关系
  11. 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分
  12. mysql基础入门
  13. HTML5 前端框架和开发工具【下篇】
  14. Push or Pull?
  15. Linux实战案例(7)安装jdk
  16. 一个App与另一个App之间的交互,添加了自己的一些理解
  17. 多线程之Thread
  18. 对于react中的this.setState的理解
  19. Android中 实现队列方式处理优先级信息
  20. 新版本macos无法安装mysql-python包

热门文章

  1. 20145311实验二 &quot;Java面向对象程序设计&quot;
  2. Java,vue.js,jsp for循环的写法
  3. 《EMCAScript6入门》读书笔记——2.let和const命令
  4. Python学习札记(三十二) 面向对象编程 Object Oriented Program 3
  5. 【p4tutorials】P4 v1.1 Simple Router
  6. [原][osgearth]osgearth本地(离线)数据源处理小结
  7. D3.js学习笔记(六)——SVG基础图形和D3.js
  8. python2和python3的区别——持续更新
  9. thinkphp3.2验证码在服务器上显示不出来
  10. java日志体系的思考(转)