mariadb读写分离
mycat
maraidb主从架构,是主负责写,从负责读,但前端如果没有调度器的话,是无法实现读写分离的。这就涉及到了中间站,它就是mycat。一定要在主从架构的基础之上实现读写分离。
配置三台的主从架构后。
mycat端配置:
一、在hosts文件中添加(每台机器都添加)
mycat:192.168.24.10 hostM1:192.168.24.8 hostM2:192.168.24.9
二、需要安装java1.8版本或以上
三、下载mycat源码包
wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz tar -zxvf Mycat-server-1.6-RELEASE--linux.tar.gz mv mycat /usr/local/
四、vim /usr/local/mycat/conf/server.xml设置如下参数
<user name="testuser1"> <property name="password">testuser1</property> <property name="schemas">testdb,testdb1</property> </user> <user name="testuser2"> <property name="password">testuser2</property> <property name="schemas">testdb,testdb1</property> <property name="readOnly">true</property> </user>
#testuser1用来写的用户
#testuser2用来读的用户
#testdb是mycat是逻辑库
五、vim /usr/local/mycat/conf/schema.xml配置(请先备份cp schema.xml schema.xml.bak,然后把schema.xml文件清空,粘贴以下内容)
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="testdb" checkSQLschema="false" sqlMaxLimit="" dataNode="dn1"> </schema> <schema name="testdb1" checkSQLschema="false" sqlMaxLimit="" dataNode="dn2"> </schema> <dataNode name="dn1" dataHost="hostM1" database="test" /> <dataNode name="dn2" dataHost="hostM1" database="test1" /> <dataHost name="hostM1" maxCon="" minCon="" balance="" writeType="" dbType="mysql" dbDriver="native" switchType= "" slaveThreshold=""> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="192.168.24.8:3306" user="testuser1" password="testuser1"> <readHost host="hostS1" url="192.168.24.9.:3306" user="testuser2" password="testuser2" /> </writeHost> </dataHost> </mycat:schema>
六、启动mycat服务
/usr/local/mycat/bin/mycat start
七、登录
8066是管理端口
9066是连接后端数据库的端口,默认是9066,登录该端口后直接用show @@datasource;语句即可查询主从库的读写状态
mysql -h 192.168.24.10 -P8066 -utestuser1 -ptestuser1 (可以执行增删改查) mysql -h 192.168.24.10 -P9066 -utestuser1 -ptestuser1 (可以查看节点状态)
查看心跳状态
show @@heartbeat\G
查看前端连接状态
show @@connection\G
#查看后端状态
show @@backend\G
#查看数据库资源状态
show @@datasource
主节点端:创建用户
grant all on *.* to testuser1@'%' identified by 'testuser1'; grant all on *.* to testuser2@'%' identified by 'testuser;
mariadb读写分离的更多相关文章
- 基于Keepalived高可用集群的MariaDB读写分离机制实现
一 MariaDB读写分离机制 在实现读写分离机制之前先理解一下三种主从复制方式:1.异步复制:MariaDB默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...
- 基于Mysql-Proxy 实现MariaDB 读写分离
一.Mysql-Proxy 简单介绍 MySQL-Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测.分析或改变它们的通信.它使用灵活,没有限制,常见的用途包 ...
- MySQL/MariaDB读写分离配置
DB读写分离描述 数据库的读写分离其实就是为了加减少数据库的压力:数据库的写入操作由主数据库来进行,读取操作由从数据库来进行操作.实现数据库读写分离技术是有很多方法的,在这里我就用一个比较简单的mys ...
- django+centos+mariadb读写分离完美实现(上)-mysql主从备份实现
首先画图一张,用来展示今天要做的事情,读写分离,个人理解就是使用mysql主从备份的原理,让两个数据库同时为自己提供服务.其中主库负责数据保存,从库负责数据展示,可以一主一从,也可以一主多从.从而降低 ...
- MariaDB MyCat实现读写分离(15)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...
- MariaDB 10 (MySQL DB) 多主复制并实现读写分离
----本文大纲 简介 资源配置 拓扑图 实现过程 ==================== 一.简介 MMM 即Master-Master Replication Manager for MySQL ...
- Mariadb 基于Mycat实现读写分离
环境:Mariadb主:192.168.200.129 Mariadb从:192.168.200.114 Mycat :192.168.200.112 (1) 安装jdk,先查看本机是 ...
- MariaDB主从复制和读写分离
一.基础环境 二.配置MariaDB服务 1.安装MariaDB # yum install -y mariadb mariadb-server # systemctl start mariadb # ...
- MySQL/MariaDB数据库的PROXY实现读写分离
MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 m ...
随机推荐
- C++ Vector实践
实践如下: #include <iostream> #include <vector> #include <typeinfo> using namespace st ...
- 浏览器端-W3School-HTML:HTML DOM Table 对象
ylbtech-浏览器端-W3School-HTML:HTML DOM Table 对象 1.返回顶部 1. HTML DOM Table 对象 Table 对象 Table 对象代表一个 HTML ...
- table 隔列换色
$("table tr").find("td:eq(1),td:eq(2),td:eq(4)").css("background-color" ...
- 阶段3 2.Spring_09.JdbcTemplate的基本使用_1 今日课程内容介绍
- Linux上几款好用的字幕编辑器
如果你经常看国外的大片,你应该会喜欢带字幕版本而不是有国语配音的版本.我在法国长大,童年的记忆里充满了迪斯尼电影.但是这些电影因为有了法语 的配音而听起来很怪.如果现在有机会能看原始的版本,我想,对于 ...
- Docker 资源汇总
Docker 资源汇总 Docker官方英文资源 Docker官网:http://www.docker.com Docker Windows 入门:https://docs.docker.com/do ...
- sha256---利用java自带的实现加密
利用java自带的实现加密:参考https://jingyan.baidu.com/article/2fb0ba40a2ef2b00f3ec5f74.html /** * 利用java原生的摘要实现S ...
- 【react】input输入框可输入的最好实现方式
使用的是refs.react中输入框不能直接定义value.输入框是可变的,react会提示报错.需要使用的inChange事件(输入框内容被改变时触发). 要定义输入框初始值,需要在componen ...
- python 一周总结
从7月27前就开始了Djangoj框架的学习到今天一个项目实战已经过了一半了, django给我的感觉就像一个成熟的mov 首先是是数据模型层,Django已经成熟的加入了很多的数据模型供我们所使用 ...
- Spring cloud 项目———酷派手机商城 (话术)1.0
酷派电商网站 描述: 随着电子商务的发展,网上购物正在趋于一种时尚,电子商务网站也逐渐成为企业顺应潮流的标配.大多数人知道可能在电子商务网站前端有查询,注册登录,购物车等等功能.可是您知道建设电子商 ...