mysql读写分离–mysql Proxy --配置方法,以及错误解决方法

mysql Proxy 是一个 客户端和服务端之间程序,可以实现读写分离,基本原理是–

mysql读写分离--mysql Proxy --配置方法,以及错误解决方法_MySQL

虽然一个mysql proxy 可以连接多个 客户端与数据库,但是有可能mysql proxy出现异常,所以最好是准备多个mysql proxy,以避免单点失效情况的出现。

  1. mysql-proxy安装与配置。
    将下载好的MySQL Proxy 进行配置 ,下载地址是:https://downloads.mysql.com/archives/proxy/
    根据自己的平台进行 选择适合的版本,本次以windows平台为例
    下载后解压,修改解压后的文件接名为mysql-proxy-0.8.5,然后移动到mysql安装根目录下–

mysql读写分离--mysql Proxy --配置方法,以及错误解决方法_服务器_02


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 (禁用)


  1. 开启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下配置该路径–

mysql读写分离--mysql Proxy --配置方法,以及错误解决方法_sql_03