MySQL8多实例安装与mycat连接,最详细版本。
【版权所有,转载请注明出处!违者必究!】
最近在搞mycat去实现主从库读写分离,所以博主就在自己的windows机器上进行了环境的搭建,在搭建MySQL多实例的时候还算顺利,就是mysql8和mycat连接的时候,真真正正的体会到了什么叫做坑啊,因为现在百度上面搜索出来的基本上是老版本之间的连接,所以相关资料很少,于是我才有想记录下来这个比较新的版本之期间的连接。
下面介绍一下演员:
1.mysql-8.0.20-winx64.zip(传送门到windows版本下载)
2.Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz(传送门到windows版本下载)
3.windows 10环境
一、mysql8多实例安装步骤:
1.将mysql三个压缩包分别解压至三个文件夹,并命名如下图所示:

2.点击进入mysql1文件夹,在目录下新建my.ini文件,文件内容如下:
[client]
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip-name-resolve
#skip-grant-tables
default-authentication-plugin=mysql_native_password
lower_case_table_names = 1
character_set_server = utf8
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql1\
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql1\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server = utf8mb4
performance_schema_max_table_instances = 600
table_definition_cache = 400
table_open_cache = 256
3.用管理员身份打开命令窗口,这点很重要,一定是管理员身份,不会的自行百度。

4.切换目录至mysql1的bin目录下

5.执行初始化安装命令
.\mysqld --defaults-file=D:\mysql\mysql1\my.ini --initialize --console
注意这个时候,安装成功后,会随机分配mysql root用户的登录密码,一定要记录下来,后面登陆修改密码的时候会使用到。
6.执行服务安装目录
.\mysqld install MySQL1 --defaults-file="D:\mysql\mysql1\my.ini
7.启动服务
net start MySQL1
8.登陆mysql
.\mysql -u root -p --protocol=tcp --host=localhost --port=3306
提示输入步骤5的密码,直接拷贝即可。
9.修改密码并刷权限
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
至此,第一个mysql实例服务已经安装完成,其与服务参考上述步骤即可。下图为安装后的效果。

二、mycat安装与连接
1.解压mycat压缩包到mycat文件下。
2.配置环境变量

Path中添加

这里mycat有几个重要的配置文件,因为网上有很多这种文件的讲解,所以我不做过多阐述,因为我的初衷是实践部分
首先,我们要配置mycat conf目录下的server.xml,每种配置文件修改之前记得备份一下原始文件

看到这个截图,你肯定慌了,怎么复制粘贴,别慌,下面就是了。
<system>
		  <property name="defaultSqlParser">druidparser</property>
		  <property name="useHandshakeV10">1</property>
		  <property name="mutiNodeLimitType">1</property>
		  <property name="charset">utf8</property>
		  <property name="serverPort">8066</property>
		  <property name="managerPort">9066</property>
	</system>
	<user name="root">
		  <property name="usingDecrypt">1</property>
		  <property name="password">GO0bnFVWrAuFgr1JMuMZkvfDNyTpoiGU7n/Wlsa151CirHQnANVk3NzE3FErx8v6pAcO0ctX3xFecmSr+976QA==</property>
		  <property name="schemas">tjyj</property>
	</user>
因为我是使用的mycat密码密文加密形式,你也可以使用不加密的方式,只需修改一下user标签里面的内容为:
  <property name="password">123456</property>
  <property name="schemas">tjyj</property>
这些标签的意思我不讲解了,你就反正是粘贴复制,等你想知道的时候,去看看其他文章就行了。
然后是修改schema.xml文件,下面的这些步骤才是精华部分,因为现在网上大多是基于老版本构建的,所以请注意咯。

注意:mysql8连接mycat的时候,因为密码方式的问题只能采用jdbc的方式去连接mycat。
具体的配置,你拷贝下面这段话就行了
<!-- 设置表的存储方式.schema name="TESTDB" 与 server.xml中的 TESTDB 设置一致 --> 
    <schema name="tjyj" checkSQLschema="true" sqlMaxLimit="100">  
          <table name="t_user" dataNode="node_db01" /> 
    </schema> 
    <!-- 设置dataNode 对应的数据库,及 mycat 连接的地址dataHost -->  
    <dataNode name="node_db01" dataHost="locahost01" database="db1" />
    <!-- mycat 逻辑主机dataHost对应的物理主机.其中也设置对应的mysql登陆信息 -->  
    <dataHost name="locahost01" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc">  
              <heartbeat>select user();</heartbeat>  
              <writeHost host="MySQL1" url="jdbc:mysql://127.0.0.1:3306?useSSL=false&serverTimezone=UTC" user="root" password="123456"/>
  <!--这里新建你的从数据库-->
    </dataHost> 
这里有一个重要的步骤就是一定要下载mysql8的jdbc驱动放到mycat/lib目录下,必须使用8.0以上jar的版本 ,我这里使用的是mysql-connector-java-8.0.16.jar
算了,csdn上面是收费的,我就放个网盘地址吧:
链接:https://pan.baidu.com/s/1gKGj3DgD5JxDl2njp5IOhA 
提取码:xetb
哦对了,有必要讲一下基于这个配置的数据库的建立:
在3306端口的数据库新建数据库名字 db1
然后新建表t_user,表中就id和name两个字段,自己建一下就行了,

还有一个地方,如果你的数据库不能基于IP访问,请百度一下mysql打开远程登录。
然后点击 mycat\bin目录下的startup_nowrap.bat文件。
运行效果如下图:

然后测试一下mycat的连接


然后,在mycat虚拟库中执行sql
insert into t_user values(1,'abc');
看下物理库和虚拟库是否已经插入数据:

物理库:

好了,至此就结束吧,如果你还不成功的话,就加我Q吧,632132852
MySQL8多实例安装与mycat连接,最详细版本。的更多相关文章
- RabbitMQ安装说明文档(超详细版本)
		
RabbitMQ安装说明文档(超详细版本) 1. 安装依赖环境 在线安装依赖环境: yum install build-essential openssl openssl-devel unixODBC ...
 - windows + flutter +android+ vscode 安装配置运行流程(详细版本)
		
flutter 是由谷歌发布的一个全新的响应式.跨平台.高性能的移动开发框架,可以快速在iOS和Android上构建高质量的原生用户界面. 框架特点 快速开发:Flutter的热重载可以快速地进行测试 ...
 - CentOS7.5下安装Mycat连接MySQL8.0
		
MyCat详细介绍,请参考https://www.biaodianfu.com/mycat.html 9066管理端口,请参考https://www.cnblogs.com/parryyang/p/5 ...
 - mycat数据库集群系列之数据库多实例安装
		
mycat数据库集群系列之数据库多实例安装 最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据 ...
 - (Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL、创建JavaEE项目
		
之前用windows+linux的双系统,最近不怎么舒服就把双系统给卸了,没想到除了问题,导致有linux残余,于是就一狠心重装了电脑,又把Java及其相关的一些东西重新装了回来,还好当初存了网盘链接 ...
 - Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解
		
一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...
 - MySQL8.0.28安装教程全程参考MySQL官方文档
		
前言 为了MySQL8.0.28安装教程我竟然在MySQL官方文档逛了一天,至此献给想入门MySQL8.0的初学者.以目前最新版本的MySQL8.0.28为示例进行安装与初步使用的详细讲解,面向初学者 ...
 - SQL Server 2016 在Windows Server 2012 R2 上的初步安装与远程连接实战(一):初步配置
		
1.安装过程没有什么说头 2.下载并安装SSMS(SQLServer Management Studio),目前已更新到2017.1 3.使用SSMS登陆数据库 第一次选择Windows 身份验证,可 ...
 - windows 10 安装可视化mycat
		
前提: 1.安装配置好JDK环境 2.安装配置好mysql 3.安装配置好Navicat 一.下载mycat git:https://github.com/MyCATApache/Mycat-down ...
 
随机推荐
- 崛起于Springboot2.X之开发拦截器(21)
			
为什么80%的码农都做不了架构师?>>> 序言:几乎所有项目都需要拦截器,所以小伙伴们必须要掌握这门技术哦,不然只会mybaits增删改查那是实习生干的活呀. 1.创建拦截器类, ...
 - nginx日志、nginx日志切割、静态文件不记录日志和过期时间
			
2019独角兽企业重金招聘Python工程师标准>>> 12.10 Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索l ...
 - Spring 注解注入—@Qualifier 注释
			
当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean ...
 - 一个简单的wed服务器SHTTPD(5)————服务器SHTTPD请求方法解析
			
//start from the very beginning,and to create greatness //@author: Chuangwei Lin //@E-mail:979951191 ...
 - 重新认识 Spring IOC
			
spring IOC 剖析 再品IOC与DI IOC(Inversion of Control) 控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建.依赖的代码,反转给容器来帮忙实现. ...
 - redis系列之5----redis实战(redis与spring整合,分布式锁实现)
			
本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...
 - 使用python实现模拟掷骰子数据分析
			
Data:2020/4/8 主题:模拟实现掷骰子数据分析 编译环境:pycharm 库:pygal 说明: code 1:创建一个掷骰子类对象,类方法获得掷骰子随机数1-6,默认6个面,模拟20次将结 ...
 - 现代企业要求上什么样的MES(四)
			
一个制造企业要想盈利,在生产方面要做的无非是提高资源利用效率和缩短生产通过时间(生产周期),而实现这俩步骤需要生产状况的在线透明及避免薄弱环节的分析数据,由此达到改善生产状态的目的.在erp系统中,通 ...
 - Bootstrap初识
			
目录 概述 快速入门 响应式布局 CSS样式和JS插件 全局CSS样式 组件 插件 案例:黑马旅游网 概述 概念:一个前端开发的框架,Bootstrap是美国Twitter公司的设计师Mark Ott ...
 - JVM 运行时数据区(二)
			
@ 目录 运行时数据区 共享区 堆区 方法区 隔离区 虚拟机栈 栈帧 本地方法栈 程序计数器 运行时数据区 JVM 运行时数据区主要分为5块 方法区 JDK1.8以后叫做元数据区(Metaspace) ...