美文网首页
BinlogServer 之 MaxScale 介绍和简单部署手

BinlogServer 之 MaxScale 介绍和简单部署手

作者: 再见蓝猫 | 来源:发表于2019-12-17 17:00 被阅读0次

    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 介绍和简单部署手

          本文链接:https://www.haomeiwen.com/subject/nsfenctx.html