Mycat初步使用手册

安装

1.java的安装

  • 下载jdk.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
复制代码
  • 解压并拷贝
tar zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_151/ /usr/local/java/
复制代码
  • 配置环境变量
vi /etc/profile #在文件最后加入以下几行
export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt,jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:%JRE_HOME/bin
source /etc/profile #重新加载配置
复制代码
  • 验证
java -version
复制代码

2.mycat的安装

  • 下载源代码,解压即可。

3.试运行

  • 进入mycat的解压目录
  • ./bin/mycat console

目录结果解释

目录结构如下所示:

mycat ├── bin 程序目录,存放了各种脚本命令,比如常用的mycat。 ├── catlet 人工智能分片目录 ├── conf 各类配置文件的目录 ├── lib 存放mycat依赖的jar文件 ├── logs 存在mycat所产生的日志文件。 └── version.txt

一些常用命令

进入bin目录下

./mycat start  	#启动mycat, 后台运行
./mycat stop	#停止mycat
./mycat console	 #启动mycat, 前台运行
./mycat restart	 #重启mycat
./mycat pause	#暂停mycat
./mycat status	#查看mycat的状态

mysql -uroot -p123456 -P8066 -h 127.0.0.1 #连接数据接口的命令
复制代码

配置文件的介绍

mycat主要的配置文件分为以下几个:

server.xml 系统相关的配置文件

schema.xml 逻辑库,逻辑表,dataHost,dataNode配置文件

rules.xml 分片的规则定义文件

数据库读写分离的实例

分为以下三步:

一、数据库配置主从赋值

首先配置两台机器,一台作为master,一台作为slave

测试环境下我使用的是docker来配置:

​ master: 127.0.0.1:3306

​ slave: 127.0.0.1:3309

配置master

1、设置mysql用户,为其创建一个用来数据同步的用户。

mysql>create user repl;
mysql> grant replication slave on *.* to 'repl'@'192.168.1.10' identified by 'repl';
mysql> flush privileges;
复制代码

2、配置my.cnf文件

# 基本的配置
[mysqld]
server-id=1   #数据库服务的唯一标识
log-bin=mysql-bin   # bin文件前缀

#其他配置文件
# expire_logs_days= 10   日志有效期
# binlog-do-db= test 需要记录二进制日志的数据库
# binlog-ignore-db= mysql 不需要记录二进制日志的数据库
# replicate-ignore-db=mysql 不需要同步的数据库
复制代码

3、重启mysqld

4、进入mysql查看master的状态, 获得pos

mysql> show master status;
复制代码
配置slave

1、配置my.cnf

[mysqld]
log-bin=mysql-bin
server-id=3
slave-net-timeout=60
复制代码

2、重启Mysqld

3、进入mysql命令行,开始连接master

stop slave;
change master to master_host='127.0.0.1',master_user='root',master_password='sangfor',master_log_file='mysql-bin.000001', master_log_pos=154;
start slave;
show slave status;
复制代码

4、验证成功:

​ Slave_IO_Running: Yes

​ Slave_SQL_Running: Yes

MYSQL[Got fatal error 1236]的原因和解决办法

参考:yq.aliyun.com/articles/27…

二、mycat配置读写分离

主要配置schema.xml

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
    <heartbeat>show slave status</heartbeat>
    <!-- can have multi write hosts -->
    <writeHost host="hostM1" url="localhost:3306" user="root" password="123456">
    <!-- can have multi read hosts -->
    <readHost host="hostS1" url="localhost:3309" user="root" password="123456"
    weight="1" />
</writeHost>
</dataHost>
或者
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
    <heartbeat>show slave status</heartbeat>
    <writeHost host="hostM1" url="localhost:3306" user="root" password="123456">
    </writeHost>
    <writeHost host="hostS1" url="localhost:3307" user="root" password="123456">
</writeHost>
</dataHost>
复制代码

以上两种取模第一种当写挂了读不可用,第二种可以继续使用,

启动则Ok了。

三、迁移数据库

mysql迁移数据库命令:

​ mysqldump -uroot -p'密码' --master-data=2 --single-transaction -R --triggers -A > /backup/all.sql

说明: ​ --master-data=2代表备份时刻记录master的Binlog位置和Position

​ --single-transaction意思是获取一致性快照

​ -R意思是备份存储过程和函数

​ --triggres的意思是备份触发器

​ -A代表备份所有的库

在数据库中新建数据库:

​ CREATE DATABASE OSS_BUSINESS_data DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

导入数据:

​ source xxx.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值