作者:CSDN阿坤

著作:Maxscale读写分离服务

说明:需要动的地方都有注释,没注释的默认即可

1.前提必须配好两台的主从服务并另配一台maxscale服务器.
2.大致流程就是大家熟知的黯然销魂三部曲:安包---->修改配置文件---->启服务!
************首先进入到maxscale服务器上配置

[root@mysqlmaxscale~]#yum -y install  maxscale-2.1.2-1.rhel.7.x86_64.rpm
[root@mysqlmaxscale~]#systemctl stop mysqld #确保数据库服务关闭,涉及到端口冲突
[root@mysqlmaxscale~]#vim /etc/maxscale.cnf[maxscale]
threads=auto #设置为根据cpu性能来设置开启线程数量(建议auto)
#设置所用到的两个服务器(可设置多个,5yy和p即可粘贴格式)
[server1] #名不可重复
type=server
address=192.168.4.51 #你所用到的服务器ip
port=3306
protocol=MySQLBackend[server2]
type=server
address=192.168.4.52 #同上
port=3306
protocol=MySQLBackend#监控用户信息配置区(用于检查主从服务状态以及MySQL服务状态)
[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2 #写入上面所用到的服务器server1与server2
user=maxscalemon  #用户名和密码可自定义,但用户授权时必须一致
passwd=123456
monitor_interval=10000#读写权限用户配置区(用于检查用户账户是否存在以及读写分离的分配,也就是告诉系统:主-write,从-read)
[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2 #写入参与的服务器server1与server2
user=maxscalerouter  #用户名和密码可自定义,但用户授权时必须一致
passwd=123456
max_slave_connections=100%
#以上两个用户maxscalemon以及maxscalerouter在MySQL中需要grant授权#maxadmin管理用户配置区(maxscale自带本地用户无需grant授权)
[MaxAdmin Service]
type=service
router=cli[Read-Write Listener]
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4016    #端口需要自己加上(任意没有用到的端口即可)

***********其次进入到master主服务器配置(slave从服务上配置是不会被同步到master主服务器的)

[root@mysqlmaster~]#mysql -p123456
#密码设为123456的前提必须保证policy=0(密码认证强度规则关闭),length=6(密码只读6位).
#replication slave授予可检查主从状态权限,replication client授予检查数据库mysql的状态权限.
#maxscalemon为mon=monitor监视用户,maxscalerouter路由用户:用来区分读写分离分别是那台服务器
mysql> grant replication slave,replication client on *.* to maxscalemon@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.08 sec)
mysql> grant select on mysql.* to maxscalerouter@"%" identified by '123456';
Query OK, 0 rows affected, 1 warning (0.12 sec)

**********授权结束后回到maxscale服务器上检查配置文件,确认无误后启动maxscale服务

[root@mysqlmaxscale~]#maxscale -f /etc/maxscale.cnf #maxscale内置启动命令
[root@mysqlmaxscale~]#netstat -ntlup |grep maxscale
tcp6       0      0 :::4006                 :::*                    LISTEN      1215/maxscale
tcp6       0      0 :::4016                 :::*                    LISTEN      1215/maxscale
#启动服务后日志文件就会生成: /var/log/maxscale/maxscale.log
[root@mysqlmaxscale~]#cat /var/log/maxscale/maxscale.log
#在日志信息中notice(注意)视为正常运行成功信息,如果为error则表示启动失败
2019-09-06 11:16:46   notice : Working directory: /var/log/maxscale
2019-09-06 11:16:46   notice : MariaDB MaxScale 2.1.2 started
2019-09-06 11:16:46   notice : MaxScale is running in process 1215
2019-09-06 11:16:46   notice : Configuration file: /etc/maxscale.cnf
2019-09-06 11:16:46   notice : Log directory: /var/log/maxscale
........
[root@mysqlmaxscale~]#maxadmin -uadmin -pmariadb -P4016 #maxscale管理用户本地登录
#非本地登录: mysql -hmysql57  -P4016 -uadmin -pmariadb(前提必须开启maxscale服务器上的mysql服务,否则报错)
MaxScale> list servers #配置maxscale服务成功后,输入此命令可监察到主从状态
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
server1            | 192.168.4.51    |  3306 |           0 | Master, Running
server2            | 192.168.4.52    |  3306 |           0 | Slave, Running
-------------------+-----------------+-------+-------------+--------------------
MaxScale> exit #退出命令(也可以用quit)

**********到此处呢maxscale整个服务就配置完成了,接下来我们进行配置测试:

测试分为两个步骤:

一、测试主从服务:

#进入主服务器创库建表授权
[root@mysqlmaster ~]# mysql -p123456
mysql> create database db7;
Query OK, 1 row affected (0.12 sec)
mysql> create  table db7.test(id int);
Query OK, 0 rows affected (0.46 sec)
mysql> grant select,insert on db7.* to wxk@"%" identified by '123456';
Query OK, 0 rows affected, 1 warning (0.12 sec)
#进入从服务器查询权限
[root@mysqlslave ~]# mysql -p123456 -e "show grants for wxk;"
+------------------------------------------------------------+
| Grants for wxk@%                                           |
+------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'wxk'@'%' WITH GRANT OPTION |
| GRANT SELECT, INSERT ON `db7`.* TO 'wxk'@'%'               |
+------------------------------------------------------------+
2 rows in set (0.00 sec)
#进入客户端查询权限并使用所拥有权限加以确认
[root@mysqlclient ~]# mysql -hmysql51 -uwxk -p123456
mysql> show grants;
+------------------------------------------------------------+
| Grants for wxk@%                                           |
+------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'wxk'@'%' WITH GRANT OPTION |
| GRANT SELECT, INSERT ON `db7`.* TO 'wxk'@'%'               |
+------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select * from db7.test;
Empty set (0.01 sec)
mysql> insert into db7.test values(6565);
Query OK, 1 row affected (0.16 sec)
mysql> select * from db7.test;
+------+
| id   |
+------+
| 6565 |
+------+
1 row in set (0.00 sec)
mysql>quit

二、测试读写分离:

#进入从服务器进行数据插入
[root@mysqlslave ~]# mysql -p123456
mysql> insert into db7.test values(7879);
Query OK, 1 row affected (0.13 sec)
mysql> select * from db7.test;
+------+
| id   |
+------+
| 6565 |
| 7879 |
+------+
2 rows in set (0.00 sec)
mysql>exit
#进入主服务器查看(主服务器是无法同步从服务器的)
[root@mysqlmaster ~]# mysql -p123456 -e "select * from db7.test;"
+------+
| id   |
+------+
| 6565 |
+------+
1 row in set (0.00 sec)
mysql>quit
#进入客户端链接4006端口(读写监听端口服务)
[root@mysqlclient ~]# mysql -hmysql57 -uwxk -p123456 -P4006
mysql> select * from db7.test; #此时查看到的数据7879是slave从服务器上所插入的数据
+------+
| id   |
+------+
| 6565 |
| 7879 |
+------+
2 rows in set (0.00 sec)
mysql>exit

*****************当看到从服务器上插入的7879数据时则表示读写分离配置成功!

喜欢的朋友点击关注不迷路熬!(对您有用的话就给个赞吧,有赞有鼓励,干劲满满的!谁还不是个孩子呢!!)

实现MySQL读写分离---maxscale代理服务器配置(详解)相关推荐

  1. MySQL调优(八):查缺补漏(mysql的锁机制,读写分离,执行计划详解,主从复制原理)

    mysql的锁机制 1.MySQL锁的基本介绍 ​ 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的 计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共 ...

  2. Maxscale实现MySQL读写分离

    作用:实现数据访问读写分离,减轻单台服务器的兵法访问压力 前提:实现主从同步 原理: MySQL读写分离是指,作为后端mysql主从服务器的代理,它直接接受客户端的请求,对SQL语句进行分析,判断出是 ...

  3. 配置MySQL读写分离架构,采用maxscale

    配置MySQL读写分离架构,采用maxscale 配置MySQL读写分离架构 采用maxscale 下载maxscale 配置MySQL主从架构 配置MySQL主服务器 配置MySQL从服务器 配置m ...

  4. maxscale mysql5.7_Maxscale实现Mysql读写分离

    Maxscale实现Mysql读写分离: 注: 1.该工具只有一主,如主出了问题整体会有10s左右不可用(即使从会自动切为主). 2.读设置的2台实际只生效了1台. rpm -i maxscale-2 ...

  5. Amoeba数据库代理 实现mysql读写分离

    Amoeba   依赖jdk centons7安装jdk8 目前Amoeba for Mysql最新版本为amoeba-mysql-3.0.5-RC-distribution.zip. 安装过程很简单 ...

  6. 基于MaxScale中间件的MySQL读写分离

    基于MaxScale中间件的MySQL读写分离 概述 maxscale 基于keepalived的高可用,通过VIP提供服务 maxscale官网:https://mariadb.com/downlo ...

  7. mysql读写分离实战

    一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database ...

  8. mysql读写分离,主从配置

    2019独角兽企业重金招聘Python工程师标准>>> 一个完整的mysql读写分离环境包括以下几个部分: 应用程序client database proxy database集群 ...

  9. mysql读写分离6_6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优

    day06 一.mysql主从同步 二.数据读写分离 三.MySQL优化 ++++++++++++++++++++++++++++++++ 一.mysql主从同步 1.1 主从同步介绍?从库服务器自动 ...

  10. mysql 读写分离缺点6_6\MySQL 主从同步 , MySQL 读写分离 , MySQL 性能调优

    6\MySQL 主从同步 , MySQL 读写分离 , MySQL 性能调优 day06 一,mysql 主从同步 二,数据读写分离 三,MySQL 优化 ++++++++++++++++++++++ ...

最新文章

  1. 十进制度转换为度分秒
  2. [python网络编程]DNSserver
  3. docker常用命令(总结)
  4. Triangular Sums http://acm.nyist.net/JudgeOnline/problem.php?pid=122
  5. 关于烂代码的那些事——什么是好代码
  6. JavaScript ECMA
  7. jQuery扩展实现复选框批操作
  8. mysql innodb架构_Mysql Innodb体系结构
  9. IDEA 配置Tomcat运行Servlet项目
  10. UVA10420 List of Conquests【map】
  11. oracle高效分页存储过程(百万数据级)
  12. Linux内核移植操作步骤
  13. 「HenCoder Plus」Android 高级培养计划 FAQ
  14. 人大金仓数据库迁移工具
  15. JAVA反射机制Reflection详解
  16. 户外运动耳机如何选择、最优秀的五款户外运动耳机推荐
  17. 构造和析构:construct,destory
  18. Python学习(六)——格式化输出
  19. iOS wkWebview播放HTML5 video视频 自动全屏问题解决
  20. sock5系列之模拟tcp请求sock5服务器!(三)

热门文章

  1. 软件测试技术(思维导图)
  2. RX 470 480 570 580 590 5700 6600 5600 6900 6800在WIN10上玩GTA5 闪退,无法运行,打不开,解决方案
  3. CoAP协议 libcoap API
  4. 系列课程 ElasticSearch 之第 5 篇 —— Kibana 高级查询语句、DSL语言查询和过滤、中文分词器(elasticsearch.bat闪退解决办法)
  5. 浅谈 MyBatis 缓存
  6. 做自媒体原创视频多平台分发,视频一键发布多平台方法教程
  7. python3爬虫系列20之反爬需要登录的网站三种处理方式
  8. macbook加入路由_笔记本怎么安装无线路由器 MacBook安装无线路由器方法【详细步骤】...
  9. 直线检测-Radon变换、Hough变换
  10. PID算法优化之积分器抗饱和处理