BinlogServer 之 MaxScale 介绍和简单部署手册

Maxscale--binlogserver 介绍和简单部署手册

一、Maxscale介绍

MariaDB MaxScale:号称世界上最先进的数据库代理,防火墙和查询路由器

MariaDB MaxScale是MariaDB平台的基本组件。它不仅为关键任务应用程序提供企业功能,包括自动故障转移,数据屏蔽和拒绝服务保护,而且还支持基于工作负载的查询路由,以进行混合事务/分析处理。拥有企业订阅的所有客户均可使用MariaDB MaxScale。

目前最新版本为2.4.2

我们用来搭建binlogserver,  经过maxscale 同步后的binlog  与主库完全保持一致, 它的工作是只将主库的binlog 拉去到本地,对位点和内容不做任何改变。

我们用到的是maxscale  里的  Binlogrouter模块。binlogrouter是MariaDB

MaxScale的复制协议代理模块,此模块允许 MaxScale连接到主服务器并检索二进制日志,而从属服务器可以连接到 MaxScale,就像它们连接到普通主服务器一样。

如果主服务器出现故障,则从服务器仍可以连接到 MaxScale并读取二进制日志。您可以切换到新的主服务器,而没有从服务器通知实际的主服务器已更改。这允许在复制优先级较高的情况下使用更高可用性的复制设置。

二、MaxScale安装部署手册

1、下载 rpm 包, 报地址为:https://dlm.mariadb.com/758925/MaxScale/2.4.2/centos/7/x86_64/maxscale-2.4.2-1.centos.7.x86_64.rpm

rpm -ivhmaxscale-2.4.2-1.centos.7.x86_64.rpm安装即可。

2、修改配置文件, /etc/maxscale.cnf 

,  我这边配置从2台数据库主库同步binlog日志,具体配置如下:

[maxscale]

threads=auto

[Replication1]

type=service

router=binlogrouter

user=maxscale

password=maxscale

server_id=3

binlogdir=/data/maxscale/binlogserver_1

mariadb10-compatibility=0

slave_hostname=master_slave

transaction_safety=on

heartbeat=30

send_slave_heartbeat=1

[Replication2]

type=service

router=binlogrouter

user=maxscale

password=maxscale

server_id=4

binlogdir=/data/maxscale/binlogserver_2

mariadb10-compatibility=0

slave_hostname=sso_slave

transaction_safety=on

heartbeat=30

send_slave_heartbeat=1

[Replication-Listener1]

type=listener

service=Replication1

protocol=MySQLClient

port=5308

[Replication-Listener2]

type=listener

service=Replication2

protocol=MySQLClient

port=5309

[MaxAdminService]

type=service

router=cli

[MaxAdminListener]

type=listener

service=MaxAdminService

protocol=maxscaled

socket=default

配置文件附件:

3、创建binlog 存储目录

mkdir /data/maxscale/binlogserver_1

mkdir /data/maxscale/binlogserver_2

创建主库 1 的master.ini info信息。

touch /data/maxscale/binlogserver_1/master.ini

具体配置如下:

[binlog_configuration]

master_host=10.80.10.226

master_port=3306

master_user=repl

master_password=repl

master_heartbeat_period=300

master_connect_retry=60

filestem=mysql-bin

创建主库 2 的master.ini info信息

touch /data/maxscale/binlogserver_2/master.ini

具体配置如下:

[binlog_configuration]

master_host=10.80.10.224

master_port=3306

master_user=repl

master_password=repl

master_heartbeat_period=300

master_connect_retry=60

filestem=mysql-bin

修改目录权限:

chown -R maxscale:maxscale /data/maxscale/

4、启动maxscale

systemctl start maxscale

查看 /var/log/maxscale/maxscale.log  日志, 确认启动成功, 但此时日志里可能会报错,因为 我们还没有设置同步主库的位点信息,  如果未设置,maxscale会从 mysql-bin.000001 开始同步。

5、登陆不同监听端口,设置同步位点信息

 以master1 为例, 其余类似。

输入密码后进入,maxscale 控制台, 账号密码为/etc/maxscale.cnf 里的配置。

查看主库的位点信息, 然后在这里设置同步slave,

CHANGE MASTER TO MASTER_HOST='xxxx',MASTER_USER='master-user',MASTER_PASSWORD='master-pwd',MASTER_LOG_FILE='master_logfile', MASTER_LOG_POS=mater_pos, MASTER_PORT=3306;

START SLAVE;

SHOW SALVE STATUS; 可以看到是否开始同步,

同时查看  /data/maxscale/binlogserver_1  下的文件,可以看到, binlog文件已经生成,且和主库完全保持一直。

至此binlog server 搭建完成, 其他的架构扩展,均与此安装步骤类似, 这里不再详细介绍。

你可能感兴趣的:(BinlogServer 之 MaxScale 介绍和简单部署手册)