基于mycat实现mysql读写分离

完成主从复制的配置

/* 主节点:192.168.47.101  从节点:192.168.47.102 */ /*mycat为同一网段客户端*/
/* 修改主节点基础配置文件 */ /* */
[mysqld]
server-id=101
log-bin /*重启服务 */
#systemctl restart mariadb /*创建从节点的账号 */ CREATE USER 'xie'@'192.168.47.102' IDENTIFIED BY '123456';
grant replication slave on *.* to xie@'192.168.47.102'; /*创建mycat*/ 能操作的账号 mysql> create database mycat;
mysql>GRANT ALL ON *.* TO 'root'@'192.168.8.10' IDENTIFIED BY '123456' WITH
GRANT OPTION;
mysql> flush privileges; /* 查看二进制日志位置*/
show master status ; +----------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------------+----------+--------------+------------------+
| localhost-bin.000001 | 729 | | |
+----------------------+----------+--------------+------------------+ /*从节点 */ /* 修改主节点基础配置文件 */ /* */
[mysqld]
server-id=102
read-only=on
relay_log=/data/relay-log
#log-bin /*重启服务 */
#systemctl restart mariadb /*创建从属性 */ CHANGE MASTER TO MASTER_HOST='192.168.47.101',
MASTER_USER='xie', MASTER_PASSWORD='123456', MASTER_PORT=3306,
MASTER_LOG_FILE='localhost-bin.000001', MASTER_LOG_POS=729; /* 开启从复制 */ start slave ; /* 查看开启详情 */
show slave status \G ...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
... /* 出现可忽略的错误解决方法 */
/*修改全局变量*/
stop slave;
sql_slave_skip_counter = 数量;
start slave;
/*修改配置文件 填入错误id 或者all*/
[mysqld]
slave_skip_errors=1007|ALL /*下载安装mycat*/ yum -y install java
/*确认安装成功*/
java -version /*安装wget*/
yum -y install wget /*wget mycat包*/
wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-
linux.tar.gz
/*创建安装目录*/
mkdir /apps
/*解压到安装目录*/
tar xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /app
/* 环境变量 */
echo 'export PATH=/apps/mycat/bin:$PATH' /etc/profile.d/mycat.sh
. /etc/profile.d/mycat.sh /*修改配置文件*/
vim /app/mycat/conf/server.xml
<user name="root"> /*连接Mycat的用户名*/
<property name="password">123456</property> /*连接Mycat的密码*/ /*修改分离策略*/
vim /app/mycat/conf/schema.xml balance="1"
<dataNode name="dn1" dataHost="localhost1" database="mycat" />
<writeHost host="host1" url="192.168.47.101:3306" user="root" password="123456">
<readHost host="host2" url="192.168.47.102:3306" user="root" password="123456" />
</writeHost> /*开启并查看是否成功*/ mycat start
cat /app/mycat/logs/wrapper.log | grep successfully /*连接测试*/ mysql -uroot -pmagedu -h127.0.0.1 -P8066 -DTESTDB
mysql> show databases;
+----------+
| DATABASE |
+----------+
| TESTDB | //只能看一个虚拟数据库
+----------+
mysql> use TESTDB;
mysql> create table t1(id int);
MySQL> select @@server_id; /*查看数据库的日志,发现修改在主服务器,读取在从服务器*/ set global general_log=on;

基于MYCAT中间件实现MYSQL读写分离的更多相关文章

  1. linux下mysql基于mycat做主从复制和读写分离之基础篇

    Linux下mysql基于mycat实现主从复制和读写分离1.基础设施 两台虚拟机:172.20.79.232(主) 172.20.79.233(从) 1.1软件设施 mysql5.6.39 , my ...

  2. Docker安装Mycat并实现mysql读写分离,分库分表

    Docker安装Mycat并实现mysql读写分离,分库分表 一.拉取mycat镜像 二.准备挂载的配置文件 2.1 创建文件夹并添加配置文件 2.1.1 server.xml 2.1.2 serve ...

  3. Mycat数据库中间件对Mysql读写分离和分库分表配置

    Mycat是一个开源的分布式数据库系统,不同于oracle和mysql,Mycat并没有存储引擎,但是Mycat实现了mysql协议,前段用户可以把它当做一个Proxy.其核心功能是分表分库,即将一个 ...

  4. mycat配置实现mysql读写分离

    需要先把mysql的主从复制配置好,然后才可以开始mycat的配置 m ysql主从复制配置:https://www.cnblogs.com/renjianjun/p/9093062.html myc ...

  5. Mycat - 实现数据库的读写分离与高可用

    前言 开心一刻 上语文课,不小心睡着了,坐在边上的同桌突然叫醒了我,并小声说道:“读课文第三段”.我立马起身大声读了起来.正在黑板写字的老师吓了一跳,老师郁闷的看着我,问道:“同学有什么问题吗?”,我 ...

  6. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  7. Mysql读写分离(Mycat版)

    (1).读写分离概述 1)工作原理 读写分离是让主数据库处理事务性增删改操作(insert.delete.update),让从数据库处理查询查询操作(select). 2)作用 1.分担负载 2.主从 ...

  8. MySQL中间件之ProxySQL_读写分离/查询重写配置

    MySQL中间件之ProxySQL_读写分离/查询重写配置 Posted on 2016-12-25 by mark blue, mark Leave a comment MySQL 1.闲扯几句 读 ...

  9. MySQL读写分离之MyCAT

    Mycat实现MySQL主从复制读写分离 MyCAT的安装及部署 1.部署jdk环境 MyCAT用Java开发,需要有JAVA运行环境,mycat依赖jdk1.7的环境 1)上传jdk [root@l ...

随机推荐

  1. delphi treeview的子节点图标?

    代码实现不同的子节点图标效果. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...

  2. 用事件队列来处理pixi中的场景元素入场

    在pixi中,添加一个精灵元素,你可能需要,先将贴图load进来,然后才能添加到场景中去,所以一般会这么操作 Loader.add("tree","static/imag ...

  3. 在Linux虚拟机里开启Apache服务

    首先第一步我们配置环境:把yum与Linux ping通 1.我们来下载apache服务,输入:yum install httpd * 2.安装完毕之后默认是死的,要给他启动一下,输入命令:syste ...

  4. Flash中的SLC/MLC/MLC--基础

    参考 1.http://www.upantool.com/jiaocheng/qita/2012/slc_mlc_tlc.html 2.http://www.2ic.cn/html/10/t-4324 ...

  5. python3.6下pycharm连接mysql

    由于python3.x里面没有了MysqlDB,所以使用python3.6+django连接不上mysql,会报错 no modul "MysqlDB".于是就有了一个替代品,叫p ...

  6. MQTT安全篇

    物联网的核心是连接万物,通过交换并分析数据使得生活更舒适与便捷.不过,敏感数据泄露或者设备被非法控制可不是闹着玩的.比如前段时间国内某著名家电企业的智能洗衣机,使用了某著名电商基于XMPP协议的物联网 ...

  7. SQL用法三(游标和Fetch)

    /一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环/以下内容摘自http://www. ...

  8. Kafka如何实现每秒上百万的高并发写入

    Kafka是高吞吐低延迟的高并发.高性能的消息中间件,在大数据领域有极为广泛的运用.配置良好的Kafka集群甚至可以做到每秒几十万.上百万的超高并发写入. 那么Kafka到底是如何做到这么高的吞吐量和 ...

  9. c++学习笔记之引用

    引用是 C++ 的新增内容,在实际开发中会经常使用:C++ 用的引用就如同C语言的指针一样重要,但它比指针更加方便和易用,有时候甚至是不可或缺的. 同指针一样,引用能够减少数据的拷贝,提高数据的传递效 ...

  10. mysql索引不生效

    公司服务用的mysql,最近在查询时时间很慢,经常会上10多秒,查看了一下查询的执行计划,发现索引没有生效. 存储引擎使用InnoDB. 一开始在主库查询,一直很好奇为什么索引不生效,切换到备库之后, ...