MyCat环境搭建详细教程

目录
  • 一、准备工作
  • 二、下载安装mycat
  • 三、编辑配置文件
  • 四、卸载重新安装jdk
  • 五、开启mycat
  • 六、常见问题

一、准备工作

1、确保jdk已安装成功,并且jdk版本选用1.7以上版本

2、准备一台新的主机mysql_mycat放到master的前面做代理

mycat ip 192.168.232.13

3、将三台机器互做本地解析

192.168.232.11 mysql_master
192.168.232.12 mysql_slave1
192.168.232.13 mysql_slave2
192.168.232.14 mysql_mycat

架构:

二、下载安装mycat

我们通过本地上传mycat包来安装mycat

[root@mysql_mycat ~]# tar xf Mycat-server-1.6.5-release-linux.tar.gz -C /usr/local/

cd 到/usr/local目录下,多了一个mycat文件夹

三、编辑配置文件

[root@mysql_mycat conf]# cd mycat/conf

[root@mysql_mycat conf]# vim server.xml

1.server.xml

<user name="mycat" defaultAccount="true">
                <property name="password">Qf@12345!</property>
                <property name="schemas">testdb</property>

                <!-- 表级 DML 权限设置 -->
                <!--
                <privileges check="false">
                        <schema name="TESTDB" dml="0110" >
                                <table name="tb01" dml="0000"></table>
                                <table name="tb02" dml="1111"></table>
                        </schema>
                </privileges>
                 -->
        </user>
        <!--只读用户-->
        <user name="mycat_read">
                <property name="password">Qf@12345!</property>
                <property name="schemas">TESTDB</property>
                <property name="readOnly">true</property>
        </user>

2.编辑schema.xml

[root@mysql_mycat conf]# vim 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="100" dataNode="dn1"></schema>

	<dataNode name="dn1" dataHost="localhost1" database="testdb"/>

	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>

		<writeHost host="mysql_master" url="192.168.232.11:3306" user="mycat" password="Qf@12345!" >
			<readHost host="mysql_slave1" url="192.168.232.12:3306" user="mycat" password="Qf@12345!" />
		</writeHost>
	</dataHost>
</mycat:schema>

注意:一定要严格遵守标签开始和结尾格式,否则会报错导致mycat启动后自动关闭

3.在mysql_mycat上创建库

​
mysql> create database testdb;

mysql> use testdb;

mysql> create table testdb.t1(id int);

mysql> insert into testdb.t1 values(1);

​

4.在master上给用户授权

[root@mysql_master ~]# mysql -uroot -p

mysql> grant all on testdb.* to mycat@'%' identified by 'Qf@12345!';

mysql> flush privileges;

5.在mycat机器上测试mycat用户登录master

[root@mysql_mycat ~]# mysql -umycat -p'Qf@12345!' -h mysql_master

登录上之后不进行任何操作,直接退出

6.在wrapper.conf中添加

[root@mycat mycat]# cd conf/

[root@mysql_mycat conf]# vim wrapper.conf

#在设置JVM哪里添加如下内容

wrapper.startup.timeout=300 //超时时间300秒

启动:

[root@mysql_mycat mycat]# bin/mycat start
Starting Mycat-server...
[root@mysql_mycat mycat]# jps
3814 Jps
3801 WrapperSimpleApp

再次启动jps查看,如果进程丢失一个,则是因为jdk版本问题,更换jdk

四、卸载重新安装jdk

1.卸载原有jdk版本

[root@mysql_mycat mycat]# java -version

查看jdk所有包

[root@mysql_mycat ~]# rpm -qa | grep openjdk

卸载:[root@mysql_mycat ~]# rpm -qa | grep openjdk |xargs rpm -e --nodeps

再查看:[root@mysql_mycat ~]# rpm -qa | grep openjdk

发现jdk已全部删除

2.安装新jdk1.8

(1)从本地上传jdk文件压缩包

(2)解压缩

[root@mysql_mycat ~]# tar xzf jdk-8u162-linux-x64.tar.gz -C /usr/local/

[root@mysql_mycat ~]# cd /usr/local/

[root@mysql_mycat local]# mv jdk1.8.0_162/ java

(3)设置环境变量

[root@mysql_mycat ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

然后使之生效:

[root@mysql_master local]# source /etc/profile

(4)查看java版本

[root@mysql_mycat ~]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

五、开启mycat

[root@mysql_mycat mycat]# bin/mycat start
[root@mysql_mycat mycat]# jps
7173 WrapperSimpleApp
7189 Jps
查看8066端口
[root@mysql_mycat ~]# netstat -lntp | grep java

(1)将master当做mycat的客户端

[root@mysql_master ~]# mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066

六、常见问题

1.在master上登录:mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066

2.若出现连接失败,大概率是mycat未启动

3.cd到/mycat/bin/mycat目录,start启动

4.查看jps,有两个进程,启动成功

5.多行注释: <![CDATA[---内容---]]>

6.mycat配置的密码是Qf@12345! 7.插入数据操作在mycat端

七、show tables报错

如果在show table报错:
mysql> show tables;
ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0
解决方式:
登录master服务将mycat的登录修改为%
mysql> update user set Host = '%' where User = 'mycat' and Host = 'localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
或者在授权用户mycat权限为*.*

到此这篇关于MyCat环境搭建详细教程的文章就介绍到这了,更多相关MyCat环境搭建内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot整合MyCat实现读写分离的方法

    MyCat一个彻底开源的,面向企业应用开发的大数据库集群.基于阿里开源的Cobar产品而研发.能满足数据库数据大量存储:提高了查询性能.文章介绍如何实现MyCat连接MySQL实现主从分离,并集成SpringBoot实现读写分离. MySQL配置主从关系 说明 192.168.0.105 Linux 数据库作为主master数据库 127.0.0.1 Window 作为从slave数据库 master主数据库配置 binlog是Mysql sever层维护的一种二进制日志,主要是用来记录对Mys

  • 简单了解mysql mycat 中间件

    一,什么是mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术.NoSQL技术.HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 以上是官方说明.其实就是数据库的连接池.mysql proxy也是一种连接池,但是效率很低. 二,mycat 安装 1,下载mycat

  • mycat在windows环境下的安装和启动

     1.下载 从如下地址下载mycat的安装包: http://www.mycat.io/ 2.解压 解压下载的安装包 3.安装 安装mycat前需要先安装jdk和mysql.mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5.6版本.安装玩jdk和mysql后,进入mycat解压目录下的bin目录,如本文的路径如下: D:\Program Files (x86)\mycat\bin 安装shift键,点击鼠标右键,选择"在此处打开命令窗口"打开命令行窗口(注意需

  • MyBatis利用MyCat实现多租户的简单思路分享

    前言 本文的多租户是基于多数据库进行实现的,数据是通过不同数据库进行隔离.下面话不多说,来看看详细的介绍: MyCat 基本配置 首先针对多租户配置了多个数据库,在 MyCat 的 schema.xml 中配置了多个 schema. 在 server.xml 中配置了一个用户: 后面会使用 MyCat 注解(就是注释)方式根据不同的标识,将操作指向不同的数据库. 过滤器识别请求匹配对应的数据库 标识有很多种方式可以加以区分,下面使用最简单的一种,通过不同的二级域名进行识别.二级域名和数据库对应的

  • 利用mycat实现mysql数据库读写分离的示例

    什么是MyCAT 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术.NoSQL技术.HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 MyCAT关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL

  • mysql mycat 中间件安装与使用

    一,什么是mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术.NoSQL技术.HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 以上是官方说明.其实就是数据库的连接池.mysql proxy也是一种连接池,但是效率很低. 二,mycat 安装 1,下载地址myc

  • Linux如何使用 MyCat 实现 MySQL 主从读写分离

    目录 Linux-使用 MyCat 实现 MySQL 主从读写分离 一.MySQL 读写分离 1.MySQL 读写分离的概述 2.读写分离工作原理 3.为什么要读写分离 3.实现读写分离的方式 4.常见的中间件程序 二.MyCAT简述 1.什么是 MyCAT 2.MyCat 服务安装与配置 三.MyCat 服务启动与启动设置 四.配置 MySQL 主从 五.实战节点宕机后自动切换 Slave 节点 1.mycat 配置文件优化调整 2.停主节点: 3.恢复主节点: Linux-使用 MyCat

  • 数据库中间件MyCat的介绍

    1.Mycat 应用场景 Mycat 发展到现在,适用的场景已经很丰富,而且不断有新用户给出新的创新性的方案,以下是几个典型的应用场景: 1. 单纯的读写分离,此时配置最为简单,支持读写分离,主从切换 2. 分表分库,对于超过 1000 万的表进行分片,最大支持 1000 亿的单表分片 3. 多租户应用,每个应用一个库,但应用程序只连接 Mycat,从而不改造程序本身,实现多租户化 4. 报表系统,借助于 Mycat 的分表能力,处理大规模报表的统计 5. 替代 Hbase,分析大数据 6. 作

  • 基于mysql+mycat搭建稳定高可用集群负载均衡主备复制读写分离操作

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

  • MyCat环境搭建详细教程

    目录 一.准备工作 二.下载安装mycat 三.编辑配置文件 四.卸载重新安装jdk 五.开启mycat 六.常见问题 一.准备工作 1.确保jdk已安装成功,并且jdk版本选用1.7以上版本 2.准备一台新的主机mysql_mycat放到master的前面做代理 mycat ip 192.168.232.13 3.将三台机器互做本地解析 192.168.232.11 mysql_master 192.168.232.12 mysql_slave1 192.168.232.13 mysql_sl

  • CentOS 7.x下的LEMP环境搭建详细教程

    最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M

  • Python3开发环境搭建详细教程

    Python 环境安装 下载 Python 安装包 进入 python 官网 ,在Downloads(下载)下面,点击 Window 进入下载列表页 这里我们看到两个大类: Stable Releases 稳定版本:经过测试和使用迭代,bug较少.可用于工作学习 Pre-releases 预发布版本:正在测试,较容易出现异常.但包含新版本语言特性/功能/语法,适合学习/研究新语言特征 我们这里主要以学习为主,所以我们选择 Stable Releases 稳定版本 而稳定版本下面也分两两类: Py

  • MacOS下本地golang环境搭建详细教程

    安装golang 使用homebrew安装golang.homebrew是MacOS 平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等功能.开发者不需要关心依赖和文件路径.如果系统没有安装homebrew,终端内执行以下命令安装homebrew. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 安装完homebrew后执行以下命令

  • Iris 环境搭建详细教程(最新版Go&IDEA&IrisV12)

    目录 本地环境 Go配置目录 创建示例 安装IrIs 临时配置 永久配置 开始项目 开始编写 main.go 第一个Iris案例 总结 本地环境 windows 10 Go Version 1.7.3 IDEA 2020.2 Go配置目录 本地目录(GOROOT) :D:\Go 项目目录(GOPATH):D:\GoProjects GOSDK:D:\Go\bin 目录说明,由于从Go 1.2x版本以后就支持mod后,我们的项目不再必须要在 GoPATH 的 SCR目录下了.而是通过go mod

  • scratch-www 在Win10下的环境搭建详细教程

    scratch-www(scratch-gui网页版)安装与运行 scratch-www是scratch-gui的网页版,功能包括gui的编辑,保存,播放,和gui的作品展示,这里主要介绍scratch-www在window系统下的安装和运行. scratch-www下载 下载地址是https://github.com/LLK/scratch-www,官网有安装说明,英文版的. 运行环境需要 nodejs 8.0以上版本,建议最新版,降低各种报错的概率 安装git npm install 正常的

  • Android Studio安装配置、环境搭建详细步骤及基本使用的详细教程

    前言 Android Studio的安装配置及使用篇终于来啦~ 废话不多说,以下针对JDK正确安装(及其环境变量配置完毕,即Java开发环境下).Android Studio的安装,配置,以及创建工程.主题字体更换.窗口工具.布局.快捷方式等的基本使用逐一说明. 安装java 下载Java安装包(jdk,网上有很多下载地址,最好去官网下:https://www.java.com/zh_CN/),安装完后记得配置环境变量: 在"系统变量"新建一个变量名为JAVA_HOME的变量,变量值为

  • 在 Windows 下搭建高效的 django 开发环境的详细教程

    从初学 django 到现在(记得那时最新版本是 1.8,本文发布时已经发展到 3.1 了),开发环境一直都是使用从官方文档或者别的教程中学来的方式搭建的.但是在实际项目的开发中,越来越感觉之前的开发环境难以适应项目的发展.官方文档或一些教程中的环境搭建方式主要存在这些问题: python manage.py runserver 启动的开发服务器热重载非常慢,尤其是当项目中导入了大量模块时,有时候改一次代码要等几秒钟才能完成重载. 主力开发环境为 Windows + PyCharm,然而有时候依

  • 搭建 springboot selenium 网页文件转图片环境的详细教程

    1. 环境准备 需要有 chrome 浏览器 + chrome driver + selenium 客户端 离线 chrome 下载地址 # 64位 linux 系统 https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm # 64位 weindow 系统 http://www.google.cn/chrome/browser/desktop/index.html?standalone=1&platfo

  • 搭建vscode+vue环境的详细教程

    一.安装vue.js 1.简介 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用. Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue.js是一个MVVM模式的框架,如果读者有angul

随机推荐