iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下如何使用MaxScale实现数据库读写分离
  • 852
分享到

Linux下如何使用MaxScale实现数据库读写分离

2023-06-27 11:06:22 852人浏览 泡泡鱼
摘要

这篇文章主要介绍linux下如何使用MaxScale实现数据库读写分离,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以

这篇文章主要介绍linux下如何使用MaxScale实现数据库读写分离,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换。

Linux下如何使用MaxScale实现数据库读写分离

操作系统:Centos Linux release 7.3.1611 (Core)

数据库:MariaDB-10.2.6-linux-glibc_214-x86_64

MaxScale服务器:10.200.10.55

服务器:172.16.8.56

从服务器:172.16.8.57

从服务器:172.16.8.58

maxscale的安装方式有很多,例如源码安装、rpm、二进制构建等,我选择二进制进行安装。

根据场景需要下载相对应的版本,下载地址;https://mariadb.com/downloads/maxscale

   [root@localhost ~]# groupadd maxscale   [root@localhost ~]# useradd -g maxscale maxscale   [root@localhost ~]# cd /usr/local   [root@localhost local]# wget Https://downloads.mariadb.com/MaxScale/2.1.3/centos/7server/x86_64/maxscale-2.1.3.centos.7.tar.gz   [root@localhost local]# tar zxvf maxscale-2.1.3.centos.7.tar.gz   [root@localhost local]# ln -s maxscale-2.1.3.centos.7 maxscale   [root@localhost local]# cd maxscale   [root@zhu56 maxscale]# chown -R maxscale var

建议创建软连接,这样有助于以后的版本升级及后期维护。

首次安装maxscale需要创建日志相关目录

   [root@localhost ~]# mkdir /var/log/maxscale   [root@localhost ~]# mkdir /var/lib/maxscale   [root@localhost ~]# mkdir /var/run/maxscale   [root@localhost ~]# mkdir /var/cache/maxscale

以下目录必须具备maxScala用户权限

   [root@localhost ~]# chown maxscale /var/log/maxscale   [root@localhost ~]# chown maxscale /var/lib/maxscale   [root@localhost ~]# chown maxscale /var/run/maxscale   [root@localhost ~]# chown maxscale /var/cache/maxscale

为了能让Maxscale能顺利启动,还需要创建配置文件,在Maxscale目录下有配置文件模板拷贝到etc下即可。

    [root@localhost ~]# cp /usr/local/maxscale/etc/maxscale.cnf.template /etc/maxscale.cnf

在修改配置文件之前,需要在主服务器上创建一个用户并给予授权,而这个用户用于Mysql监控、路由功能

   MariaDB [(none)]> create user 'jiankongdb'@'%' identified by 'jiankong123';   MariaDB [(none)]> grant SELECT on mysql.user to 'jiankongdb'@'%';   MariaDB [(none)]> GRANT SELECT ON mysql.db TO 'jiankongdb'@'%';   MariaDB [(none)]> GRANT SELECT ON mysql.tables_priv TO 'jiankongdb'@'%';   MariaDB [(none)]> GRANT SHOW DATABASES ON *.* TO 'jiankongdb'@'%';   MariaDB [(none)]> grant REPLICATioN CLIENT on *.* to 'jiankongdb'@'%';   MariaDB [(none)]> GRANT replication slave, replication client,SELECT ON *.* TO jiankongdb@'%';

查看授权情况

    MariaDB [(none)]> SHOW GRANTS FOR'jiankong'@'%';

接下来就开始修改maxscale.cnf配置文件,否则无法启动。

   [root@localhost ~]# vim /etc/maxscale.cnf   # MaxScale documentation on GitHub:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Documentation-Contents.md   # Global parameters   #   # Complete list of configuration options:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Getting-Started/Configuration-Guide.md   #全局配置   [maxscale]   threads=1   # Server definitions   #   # Set the address of the server to the network   # address of a MySQL server.   #   [server1]   type=server   address=172.16.8.56   port=3306   protocol=MySQLBackend   serv_weight=1   [server2]   type=server   address=172.16.8.57   port=3306   protocol=MySQLBackend   serv_weight=3   [server3]   type=server   address=172.16.8.58   port=3306   protocol=MySQLBackend   serv_weight=3   # Monitor for the servers   #   # This will keep MaxScale aware of the state of the servers.   # MySQL Monitor documentation:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Monitors/MySQL-Monitor.md   #MariaDB状态监控   [MySQL Monitor]   type=monitor   module=mysqlmon   servers=server1,server2,server3   user=jiankong   passwd=jiankong123   monitor_interval=10000   detect_stale_master=true #即使从全挂掉,保证主担任读写   # Service definitions   #   # Service Definition for a read-only service and   # a read/write splitting service.   #   # ReadConnRoute documentation:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Routers/ReadConnRoute.md   #读   [Read-Only Service]   type=service   router=readconnroute   servers=server1,server2,server3   user=jiankong   passwd=jiankong123   router_options=slave   enable_root_user=1 #允许root用户登录执行   weightby=serv_weight #主从权重   # ReadWriteSplit documentation:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Routers/ReadWriteSplit.md   #写   [Read-Write Service]   type=service   router=readwritesplit   servers=server1,server2,server3   user=jiankong   passwd=jiankong123   max_slave_connections=100%   use_sql_variables_in=master #保证会话的一致性   enable_root_user=1 #允许root登录   max_slave_replication_lag=3600 #允许从超出主的同步时间,超出则不路由   # This service enables the use of the MaxAdmin interface   # MaxScale administration guide:   # https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Reference/MaxAdmin.md   [MaxAdmin Service]   type=service   router=cli   # Listener definitions for the services   #   # These listeners represent the ports the   # services will listen on.   #   [Read-Only Listener]   type=listener   service=Read-Only Service   protocol=MySQLClient   port=4008   [Read-Write Listener]   type=listener   service=Read-Write Service   protocol=MySQLClient   port=4006   [MaxAdmin Listener]   type=listener   service=MaxAdmin Service   protocol=maxscaled   Socket=default

保存并退出。 8.下面创建启动脚本

   [root@localhost ~]# cp /usr/local/maxscale-2.1.3.centos.7/share/maxscale.service /usr/lib/systemd/system/   [root@localhost ~]# vim /usr/lib/systemd/system/maxscale.service

修改maxscale.service中的ExecStart=///bin/maxscale为ExecStart=/usr/local/maxscale/bin/maxscale

   [root@localhost ~]# chmod 755 /usr/lib/systemd/system/maxscale.service   [root@localhost ~]# systemctl enable maxscale   [root@localhost ~]# systemctl daemon-reload   [root@localhost ~]# systemctl start maxscale

添加变量值

   [root@localhost ~]# vi /etc/profile //最后一行添加以下内容保存退出!   PATH=$PATH:/usr/local/maxscale/bin   export PATH   [root@localhost ~]# source /etc/profile //使其变量立即生效

接下来就可以使用MaxAdmin进行管理。MaxAdmin是一个简单的客户端管理界面,可用于与MariaDB MaxScale服务器进行交互,可以显示MariaDB MaxScale内部的统计信息状态以及对MariaDB MaxScale操作的控制。详情: https://mariadb.com/kb/en/mariadb-enterprise/maxadmin-admin-interface/

   [root@localhost ~]# maxadmin //回车   MaxScale> list servers   Servers.   ---------------+--------------+-------+-------------+-----------------   Server | Address | Port | Connections | Status   ---------------+--------------+-------+-------------+-----------------   server1 | 172.16.8.56 | 3306 | 0 | Master, Running   server2 | 172.16.8.57 | 3306 | 0 | Slave, Running   server2 | 172.16.8.58 | 3306 | 0 | Slave, Running   ---------------+--------------+-------+-------------+-----------------

至此MaxScale已经配置完成。现在就可以使用客户端连接Maxscale服务器端 端口为4006。

以上是“Linux下如何使用MaxScale实现数据库读写分离”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux下如何使用MaxScale实现数据库读写分离

本文链接: https://www.lsjlt.com/news/309996.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下如何使用MaxScale实现数据库读写分离
    这篇文章主要介绍Linux下如何使用MaxScale实现数据库读写分离,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以...
    99+
    2023-06-27
  • maxscale + mariadb5.5如何实现读写分离
    本篇文章给大家分享的是有关maxscale + mariadb5.5如何实现读写分离,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、安装[r...
    99+
    2024-04-02
  • 如何利用mycat实现mysql数据库读写分离
    这篇文章主要介绍了如何利用mycat实现mysql数据库读写分离,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是MyCAT一个彻底开源的...
    99+
    2024-04-02
  • Redis如何实现数据库读写分离详解
    前言 Redis是一种NoSQL的文档数据库,通过key-value的结构存储在内存中,Redis读的速度是110000次/s,写的速度是81000次/s,性能很高,使用范围也很广。Redis是一个key-...
    99+
    2024-04-02
  • 分析型数据仓库中如何实现读写分离
    这篇文章主要为大家展示了“分析型数据仓库中如何实现读写分离”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“分析型数据仓库中如何实现读写分离”这篇文章吧。和以 My...
    99+
    2024-04-02
  • Linux如何使用 MyCat 实现 MySQL 主从读写分离
    目录Linux-使用 MyCat 实现 MySQL 主从读写分离 一、MySQL 读写分离1、MySQL 读写分离的概述2、读写分离工作原理3、为什么要读写分离3、实现读写分离的方式...
    99+
    2024-04-02
  • Spring如何实现多数据源读写分离
    这篇文章主要介绍“Spring如何实现多数据源读写分离”,在日常操作中,相信很多人在Spring如何实现多数据源读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spri...
    99+
    2024-04-02
  • 如何在Spring中使用MyBatis实现数据的读写分离
    如何在Spring中使用MyBatis实现数据的读写分离?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。其实现原理如下:通过Spring AOP对dao层接口进行...
    99+
    2023-05-31
    spring mybatis 读写分离
  • SpringBoot使用JPA如何实现读写分离
    今天就跟大家聊聊有关SpringBoot使用JPA如何实现读写分离,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JPA是什么JPA(Java Persistence API)是Sun...
    99+
    2023-05-31
    springboot jpa 读写分离
  • 如何理解数据库读写分离架构?
    如何理解数据库读写分离架构?,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RD:数据量太大,数据库扛不住了,帮忙申请一个从库,读写分离。D...
    99+
    2024-04-02
  • 如何理解数据库集群读写分离
    本篇内容介绍了“如何理解数据库集群读写分离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“灵魂拷问:解决数...
    99+
    2024-04-02
  • 利用amoeba实现mysql数据库读写分离的案例
    小编给大家分享一下利用amoeba实现mysql数据库读写分离的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_prox...
    99+
    2024-04-02
  • ProxySQL中怎么利用MySQL实现数据库读写分离
    ProxySQL中怎么利用MySQL实现数据库读写分离,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ProxySQL介绍1、连接池,而且是mu...
    99+
    2024-04-02
  • mysql数据库中怎么利用mycat实现读写分离
    这期内容当中小编将会给大家带来有关mysql数据库中怎么利用mycat实现读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、部署mycat下载 [root@myc...
    99+
    2024-04-02
  • 在spring中使用mybatis实现对mysql数据库进行读写分离
    这期内容当中小编将会给大家带来有关在spring中使用mybatis实现对mysql数据库进行读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言    &n...
    99+
    2023-05-31
    spring mybatis mysql
  • 利用amoeba实现mysql数据库的读写分离的方法
    这篇文章将为大家详细讲解有关利用amoeba实现mysql数据库的读写分离的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。关于mysql的读写分离架构有很多,百度的话...
    99+
    2024-04-02
  • php+mysql如何实现读写分离
    这篇“php+mysql如何实现读写分离”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php+mysql如何实现读写分离”文...
    99+
    2023-07-05
  • MySQL中如何实现读写分离
    MySQL中如何实现读写分离,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一,创建Master数据库的配置文件vi master...
    99+
    2024-04-02
  • mysql中Oneproxy如何实现读写分离
    这篇文章将为大家详细讲解有关mysql中Oneproxy如何实现读写分离,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基本架构: 写请求全部定向到主库,数据通过日志异步复...
    99+
    2024-04-02
  • SpringBoot详解如何实现读写分离
    目录前言1.项目引入依赖2.yml配置3.启动4.测试5.中间所遇到的问题前言 根据公司业务需求,项目需要读写分离,所以记录下读写分离的过程。 分为两个部分: 1.项目的读写分离。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作