0

我正在使用 mariadb 运行 Ubuntu 16.04,

而且我已经在官网下载了maxscale,安装好了,

https://downloads.mariadb.com/MaxScale/2.0.4/ubuntu/dists/xenial/main/binary-amd64/maxscale-2.0.4-1.ubuntu.xenial.x86_64.deb

现在我无法启动服务,没有太大帮助

2017-02-28 11:41:11   notice : Working directory: /var/log/maxscale
2017-02-28 11:41:11   notice : MariaDB MaxScale 2.0.4 started
2017-02-28 11:41:11   notice : MaxScale is running in process 21493
2017-02-28 11:41:11   notice : Configuration file: /etc/maxscale.cnf
2017-02-28 11:41:11   notice : Log directory: /var/log/maxscale
2017-02-28 11:41:11   notice : Data directory: /var/lib/maxscale
2017-02-28 11:41:11   notice : Module directory: /usr/lib/x86_64-linux-gnu/maxscale
2017-02-28 11:41:11   notice : Service cache: /var/cache/maxscale
2017-02-28 11:41:11   notice : No query classifier specified, using default 'qc_sqlite'.
2017-02-28 11:41:11   notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libqc_sqlite.so
2017-02-28 11:41:11   error  : Failed to start all MaxScale services. Exiting.
2017-02-28 11:41:11   MaxScale is shut down.

/etc/maxscale.cnf

[maxscale]
threads=1

[server1]
type=server
address=127.0.0.1
port=3306
protocol=MySQLBackend

有任何想法吗?

4

1 回答 1

2

它无法启动的原因是因为您没有定义服务。尽管在错误消息中对此进行了解释,但解释起来并不容易:2017-02-28 11:41:11 error : Failed to start all MaxScale services. Exiting.

尝试将以下三个对象添加到您的配置中:

[Read-Connection-Router]
type=service
router=readconnroute
servers=server1
user=maxuser
passwd=maxpwd

[Read-Connection-Listener]
type=listener
service=Read-Connection-Router
protocol=MySQLClient
port=4008

[MySQL-Monitor]
type=monitor
module=mysqlmon
servers=server1
user=maxuser
passwd=maxpwd
monitor_interval=1000

Read-Connection-Router是 MaxScale 提供的服务。这Read-Connection-Listener是客户端可以连接的网络端口,它链接到先前定义的服务。最后一个对象MySQL-Monitor是数据库监视器,它主动监视数据库服务器的状态。

mysqlmon配置中定义的模块用于标准的主从复制集群。如果您使用的是 Galera 集群,则需要使用该galeramon模块。

于 2017-02-28T07:43:02.370 回答