首页 > 数据库 >mycat+MySQL主从读写分离

mycat+MySQL主从读写分离

时间:2023-02-08 14:46:08浏览次数:41  
标签:status show MySQL mycat sql Report Mycat 主从

Mycat应用场景

Mycat发展到现在,适用的场景已经很丰富,而且不断有新用户给出新的创新性的方案,以下是几个典型的应用场景:

  • 单纯的读写分离,此时配置最为简单,支持读写分离,主从切换;
  • 分表分库,对于超过1000万的表进行分片,最大支持1000亿的单表分片;
  • 多租户应用,每个应用一个库,但应用程序只连接Mycat,从而不改造程序本身,实现多租户化;
  • 报表系统,借助于Mycat的分表能力,处理大规模报表的统计;
  • 替代Hbase,分析大数据;
  • 作为海量数据实时查询的一种简单有效方案,比如100亿条频繁查询的记录需要在3秒内查询出来结果,除了基于主键的查询,还可能存在范围查询或其他属性查询,此时Mycat可能是最简单有效的选择;
  • Mycat长期路线图;
  • 强化分布式数据库中间件的方面的功能,使之具备丰富的插件、强大的数据库智能优化功能、全面的系统监控能力、以及方便的数据运维工具,实现在线数据扩容、迁移等高级功能;
  • 进一步挺进大数据计算领域,深度结合Spark Stream和Storm等分布式实时流引擎,能够完成快速的巨表关联、排序、分组聚合等 OLAP方向的能力,并集成一些热门常用的实时分析算法,让工程师以及DBA们更容易用Mycat实现一些高级数据分析处理功能。
  • 不断强化Mycat开源社区的技术水平,吸引更多的IT技术专家,使得Mycat社区成为中国的Apache,并将Mycat推到Apache
    基金会,成为国内顶尖开源项目,最终能够让一部分志愿者成为专职的Mycat开发者,荣耀跟实力一起提升。

Mycat部署

mycat 192.168.248.130
mysql主 192.168.248.131
mysql从 192.168.248.132

mysql 主从安装(略)

mycat下载、解压

[root@bre02 mycat]# wget http://dl.mycat.org.cn/1.6.7.6/20220109193553/Mycat-server-1.6.7.6-release-20220109193553-linux.tar.gz
[root@bre02 mycat]# tar -xf Mycat-server-1.6.7.6-release-20220109193553-linux.tar.gz -C /usr/local/

配置server.xml

#调整服务端口
<property name="serverPort">3306</property>
#用户
<user name="wjht" defaultAccount="true">
	<property name="password">root12</property>
	<property name="schemas">liulang,yayun</property>  #用户能访问的库
	<property name="defaultSchema">liulang</property>
	<!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->
	
	<!-- 表级 DML 权限设置 -->
	<!-- 		
	<privileges check="false">
		<schema name="TESTDB" dml="0110" >
			<table name="tb01" dml="0000"></table>
			<table name="tb02" dml="1111"></table>
		</schema>
	</privileges>		
	 -->
</user>

</mycat:server>

配置schema.xml

读写分离

Mycat主从自动切换测试

<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="liulang" checkSQLschema="false" sqlMaxLimit="100" dataNode="haha" />
    <schema name="yayun" checkSQLschema="false" sqlMaxLimit="100" dataNode="haha2" />
     
    <dataNode name="haha" dataHost="Mycat-node" database="liulang" />
    <dataNode name="haha2" dataHost="Mycat-node" database="yayun" />

    <dataHost name="Mycat-node" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">
    <heartbeat>show slave status</heartbeat>
    <writeHost host="Mysql-node1" url="192.168.248.131:3306" user="wjht" password="root123">
         <readHost host="Mysql-node2" url="192.168.248.132:3306" user="wjht" password="root123">
         </readHost>
    </writeHost>
<writeHost host="Mysql-mnode2" url="192.168.248.132:3306" user="wjht" password="root123">
</writeHost>
    </dataHost>

</mycat:schema>

[root@bre02 bin]# ./mycat start #开启
[root@bre02 bin]# ./mycat stop #关闭
[root@bre02 bin]# ./mycat restart #重启
[root@bre02 bin]# ./mycat status #查看启动状态
[root@bre02 bin]# ./mycat console #前台运行
[root@bre02 bin]# ./mycat pause #暂停

启动后登录客户端
[root@bre04 local]# mysql -h192.168.248.130 -P3306 -uwjht -proot12
[email protected]:(none) 02:13:18> show databases;
+----------+
| DATABASE |
+----------+
| liulang |
| yayun |
+----------+
2 rows in set (0.00 sec)

登录管理端
[root@bre04 ~]# mysql -h192.168.248.130 -P9066 -uwjht -proot12
[email protected]:(none) 03:56:44> show @@help;
+--------------------------------------------------------------+--------------------------------------------+
| STATEMENT | DESCRIPTION |
+--------------------------------------------------------------+--------------------------------------------+
| show @@time.current | Report current timestamp |
| show @@time.startup | Report startup timestamp |
| show @@version | Report Mycat Server version |
| show @@server | Report server status |
| show @@threadpool | Report threadPool status |
| show @@database | Report databases |
| show @@datanode | Report dataNodes |
| show @@datanode where schema = ? | Report dataNodes |
| show @@datasource | Report dataSources |
| show @@datasource where dataNode = ? | Report dataSources |
| show @@datasource.synstatus | Report datasource data synchronous |
| show @@datasource.syndetail where name=? | Report datasource data synchronous detail |
| show @@datasource.cluster | Report datasource galary cluster variables |
| show @@processor | Report processor status |
| show @@command | Report commands status |
| show @@connection | Report connection status |
| show @@cache | Report system cache usage |
| show @@backend | Report backend connection status |
| show @@session | Report front session details |
| show @@connection.sql | Report connection sql |
| show @@sql.execute | Report execute status |
| show @@sql.detail where id = ? | Report execute detail status |
| show @@sql | Report SQL list |
| show @@sql.high | Report Hight Frequency SQL |
| show @@sql.slow | Report slow SQL |
| show @@sql.resultset | Report BIG RESULTSET SQL |
| show @@sql.sum | Report User RW Stat |
| show @@sql.sum.user | Report User RW Stat |
| show @@sql.sum.table | Report Table RW Stat |
| show @@parser | Report parser status |
| show @@router | Report router status |
| show @@heartbeat | Report heartbeat status |
| show @@heartbeat.detail where name=? | Report heartbeat current detail |
| show @@slow where schema = ? | Report schema slow sql |
| show @@slow where datanode = ? | Report datanode slow sql |
| show @@sysparam | Report system param |
| show @@syslog limit=? | Report system mycat.log |
| show @@white | show mycat white host |
| show @@white.set=?,? | set mycat white host,[ip,user] |
| show @@directmemory=1 or 2 | show mycat direct memory usage |
| show @@check_global -SCHEMA= ? -TABLE=? -retry=? -interval=? | check mycat global table consistency |
| switch @@datasource name:index | Switch dataSource |
| kill @@connection id1,id2,... | Kill the specified connections |
| stop @@heartbeat name:time | Pause dataNode heartbeat |
| reload @@config | Reload basic config from file |
| reload @@config_all | Reload all config from file |
| reload @@route | Reload route config from file |
| reload @@user | Reload user config from file |
| reload @@sqlslow= | Set Slow SQL Time(ms) |
| reload @@user_stat | Reset show @@sql @@sql.sum @@sql.slow |
| rollback @@config | Rollback all config from memory |
| rollback @@route | Rollback route config from memory |
| rollback @@user | Rollback user config from memory |
| reload @@sqlstat=open | Open real-time sql stat analyzer |
| reload @@sqlstat=close | Close real-time sql stat analyzer |
| offline | Change MyCat status to OFF |
| online | Change MyCat status to ON |
| clear @@slow where schema = ? | Clear slow sql by schema |
| clear @@slow where datanode = ? | Clear slow sql by datanode |
+--------------------------------------------------------------+--------------------------------------------+
59 rows in set (0.01 sec)

标签:status,show,MySQL,mycat,sql,Report,Mycat,主从
From: https://www.cnblogs.com/sddll/p/17101690.html

相关文章

  • 基于mysql纯java的智能题库(后期填写注释)
    1packagecontroller;23importadmin.entity.Admin;4importadmin.service.AdminService;5importadmin.service.impl.AdminServiceImpl;6import......
  • 云时代,最好用的MySQL客户端工具推荐
    数据库图形客户端(GUI)工具,可以大大帮助开发者提升SQL编写与开发的效率。在云时代,企业越来越多的开始采用RDS,同时也还有部分本地IDC自建数据库,而在云端也会选择/尝试多个不同......
  • 【MySQL高级】索引优化
    目录​​1.使用索引优化​​​​1.1数据准备​​​​1.2避免索引失效应用-全值匹配​​​​1.3避免索引失效应用-最左前缀法则​​​​1.4避免索引失效应用-其他匹配原则​......
  • navicat for mysql
    1、先下载并安装navicat_premium_trial_64(注意是64bit版本) 链接:https://pan.baidu.com/s/11nRYrmddDLj1R0rrIfbKcg提取码:5cmv2、下载PatchNavicat并将其复制到Na......
  • MySQL 如何实现数据更新
    一般在更新时会遇到以下场景:1.所有字段全部更新;2.根据条件更新字段中的某部分内容;3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法。一、方法分类二、具......
  • 解决com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too
    1.今天遇到一个蛮奇怪的问题,项目一天都没啥问题,然后等我下班测试就跟我说报错报错如下:    2.然后我立马去控制台打印实时日志查看报如下错;    3.经......
  • pycharm爬虫报错:pymysql.err.DataError: (1406, "Data too long for column 'content'
     在学习爬虫的时候,获取数据存入mysql时出现了问题:pymysql.err.DataError:(1406,"Datatoolongforcolumn'content'atrow1")因为mysql也是本地搭建的,所以一时间......
  • MySql多表查询
    多表关系一对多实现:在多的一方建立外键,用来指向一的一方的主键多对多实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键一对一实现:在任意一方加入......
  • Centos 7在线安装JDK1.8+Tomcat+MySQL8.0+Nginx
    一、安装JDK注:以下命令环境在Xshell中进行。温馨提示:在线安装方式需要有网速的前提,有的软件下载需要大量时间。1、查询出系统自带的OpenJDK及版本rpm-qa|grepjdk......
  • k8s部署canal-1.1.6版本实现MySQL数据库数据同步
    1、版本说明软件&镜像版本&镜像信息说明Kubernetesv1.23.7k8s服务器Kuboardv3.5.2.0k8s连接管理工具Canalv1.1.6数据同步......