mysql读写分离--mysql Proxy --配置方法,以及错误解决方法
原创
©著作权归作者所有:来自51CTO博客作者CodeMartain的原创作品,请联系作者获取转载授权,否则将追究法律责任
mysql读写分离–mysql Proxy --配置方法,以及错误解决方法
mysql Proxy 是一个 客户端和服务端之间程序,可以实现读写分离,基本原理是–
虽然一个mysql proxy 可以连接多个 客户端与数据库,但是有可能mysql proxy出现异常,所以最好是准备多个mysql proxy,以避免单点失效情况的出现。
- mysql-proxy安装与配置。
将下载好的MySQL Proxy 进行配置 ,下载地址是:https://downloads.mysql.com/archives/proxy/
根据自己的平台进行 选择适合的版本,本次以windows平台为例
下载后解压,修改解压后的文件接名为mysql-proxy-0.8.5,然后移动到mysql安装根目录下–
2. 在cmd界面进行配置 mysql-proxy
C:\Users\Administrator>sc create "Proxy" DisplayName="MySQL Proxy" start="auto" binPath="C:\Program
Files\MySQL\mysql-proxy-0.8.5\bin\mysql-proxy-svc.exe --proxy-backend-addresses=127.0.0.1:3306"
配置的时候出现提示—
Files\MySQL\mysql-proxy-0.8.5\bin\mysql-proxy-svc.exe --pr
描述:
在注册表和服务数据库中创建服务项。
用法:
sc <server> create [service name] [binPath= ] <optio
选项:
注意: 选项名称包括等号。
等号和值之间需要一个空格。
type= <own|share|interact|kernel|filesys|rec>
(默认 = own)
start= <boot|system|auto|demand|disabled|delayed-auto>
(默认 = demand)
error= <normal|severe|critical|ignore>
(默认 = normal)
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <依存关系(以 / (斜杠) 分隔)>
obj= <AccountName|ObjectName>
(默认 = LocalSystem)
DisplayName= <显示名称>
password= <密码>
检查之后发现 选项名称包括等号。
等号和值之间需要一个空格。
(程序猿要仔细仔细再仔细,有时候一个标点就要了老命了)
C:\Users\Administrator>sc create "Proxy" DisplayName= "MySQL Proxy" start= "auto" binPath= "C:\Prog
ram Files\MySQL\mysql-proxy-0.8.5\bin\mysql-proxy-svc.exe --proxy-backend-addresses=127.0.0.1:3306"
[SC] CreateService 成功
C:\Users\Administrator>
代码中sc 表示显示或者配置一下命令
create “Proxy” --创建proxy服务
Displayname= --服务名(=与服务名之间有空格)
start= “auto” --表示自动启动,
手动启动
| 禁用
|
start=DEMAND (手动)
| start=DISABLED (禁用)
|
- 开启mysql proxy 服务
在cmd 界面输入 net start proxy
C:\Users\Administrator>net start proxy
MySQL Proxy 服务正在启动 .
MySQL Proxy 服务已经启动成功。
开启某服务命令
| 关闭某服务命令
|
net start 服务名
| net stop 服务名
|
可以删除服务然后在重新配置一下,以便加深印象(程序猿要记住很多代码吗???)
删除服务是 sc delete 服务名
有的朋友会遇到一下问题–
C:\Users\Administrator>sc create "proxy" displayname= "MySQL Proxy" start= "auto" binpath= "C:\Prog
ram Files\MySQL\mysql-proxy-0.8.5\bin\mysql-proxy-svc.exe --proxy-backend-address=127.0.0.1:3306"
[SC] CreateService 成功
C:\Users\Administrator>net start proxy
MySQL Proxy 服务正在启动 .
MySQL Proxy 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
出现以上错误的原因是 DisPlayName="*****" 不符合要求,应该写成MySQL Proxy, 删掉服务,重新配置启动就好了。
mysql-proxy配置参数含义如下—
● --proxy-backend-addresses:该参数用来指定MySQL服务器的IP地址和端口号,如果代理多个服务器,可以用逗号分隔。
● --proxy-read-only-backend-addresses:该参数用来指定只读服务器的IP地址和端口号,如果代理多个服务器,可以用逗号分隔。
● --proxy-skip-profiling:该参数用来设置是否禁用查询性能分析。
● --proxy-lua-script:该参数用来指定lua脚本文件。 ● --daemon:采用daemon方式启动。
● --admin-address:指定MySQL Proxy的管理端口。 ● --proxy-address=:指定mMySQL
Proxy的监听端口。
读者也可以通过mysql-proxy --help-all查看完整的参数含义。
接下还不能正式运行proxy 命令,还需要在cmd界面进入C:\Program Files\MySQL\mysql-proxy-0.8.5\bin 配置代理参数
C:\Users\Administrator>cd C:\Program Files\MySQL\mysql-proxy-0.8.5\bin
C:\Program Files\MySQL\mysql-proxy-0.8.5\bin>
配置代理参数–
C:\Program Files\MySQL\mysql-proxy-0.8.5\bin>mysql-proxy --proxy-address= localhost:49710 --proxy-
backend-addresses=201.13.100.41:8008
2021-06-11 18:06:41: (critical) unknown option: localhost:49710
端口可以自己配置,如果想要在cmd下直接整mysql proxy 代码,要在path下配置该路径–