企业实战_11_Mycat全局自增id

接上一篇:企业实战_10_Mycat 数据库架构升级之水平扩展_分库分表

https://blog.csdn.net/weixin_40816738/article/details/100059793

文章目录

  • 一、在MyCat服务器,安装MySql节点,创建mycat数据库
  • 二、将dbseq.sql导入MyCat数据库中
  • 三、修改配置文件3个
    • 1. 编辑server.xml,
    • 2. 编辑schema.xml中
      • 2.1 添加dohost节点
      • 2.1 添加数据节点
      • 2.3 在order_key的逻辑表中添加`autoIncrement="true"`属性
    • 3. 编辑sequence_db_conf.properties配置文件
      • 3.1. 进入mycat的conf目录
      • 3.2. 编辑sequence_db_conf.properties
      • 3.2. 配置2点
  • 四、 插入一条数据,设置定增属性
  • 五、重启mycat

Mycat全局自增id设置步骤

一、在MyCat服务器,安装MySql节点,创建mycat数据库

#创建数据库
mysql -uroot -p -e"create database mycat"

注:其他节点创建mycat数据库一样

二、将dbseq.sql导入MyCat数据库中

#进入mycat的conf目录
cd /app/mycat/conf
#初始化表结构脚本
mysql -uroot -p mycat < dbseq.sql

#登录mycat数据库
mysql -uroot -p
#使用mycat数据库
use mycat;
#查看初始化脚本后的数据库有哪些对象
show tables;
#查看mycat_sequence表中数据
select * from mycat_sequence;
可以看出设置了全局id 1 自增1

企业实战_11_Mycat全局自增id_第1张图片

三、修改配置文件3个

1. 编辑server.xml,

#将此属性修改为1 ,1代表从数据库中读取
#告诉mycat我是石勇数据库读取的方式生成全局自增id
1

2. 编辑schema.xml中

2.1 添加dohost节点


		select user()
		
		
	

企业实战_11_Mycat全局自增id_第2张图片
注:如果mycat数据库和分片的某一个数据库节点在一个mysql中,添加dohost节点这一步可以省略

2.1 添加数据节点


企业实战_11_Mycat全局自增id_第3张图片

2.3 在order_key的逻辑表中添加autoIncrement="true"属性

在逻辑表(order_key)中,添加autoIncrement="true"属性

在这里插入图片描述

3. 编辑sequence_db_conf.properties配置文件

这个配置文件指定了相关表和函数所在的数据节点

3.1. 进入mycat的conf目录

cd /app/mycat/conf/

3.2. 编辑sequence_db_conf.properties

vim sequence_db_conf.properties

3.2. 配置2点

  • 数据节点
  • 自增表和mycay数据库所在数据节点名称
#sequence stored in datanode
#data node
GLOBAL=mycat
#global auto-increment id table name
#order_key 表所在的数据节点
ORDER_KEY=mycat

企业实战_11_Mycat全局自增id_第4张图片

#登录mysql数据库
mysql -uroot -proot
#使用mysql数据库
use mysql;
#查看所有用户及host
select user ,host fro user;
#查看im_mycat用户有哪些权限
show grants for im_mycat@'192.168.43.%';

企业实战_11_Mycat全局自增id_第5张图片

四、 插入一条数据,设置定增属性

最后在mycat数据库中,给mycat_sequence 插入一条数据,设置定增属性
insert into mycat_sequence values (‘order_key’,1,1);
#再次查看

select *  from mycat_sequence;

企业实战_11_Mycat全局自增id_第6张图片

五、重启mycat

异常:不能获取sequence
在这里插入图片描述

#登陆数据
mysql -uroot -p
#使用mysql数据库
use mysql;
#查看权限 只有读写权限,却没有可执行权限 因此获取不了sequence
show grants for im_mycat@'192.168.43.%';
#赋予执行权限 执行函数或者存储过程
grant execute on *.* to 'im_mycat'@'192.168.43.%'; 

企业实战_11_Mycat全局自增id_第7张图片
不重复了
企业实战_11_Mycat全局自增id_第8张图片
下一篇:企业实战_12_Mycat水平扩展_跨分片查询_ER分片

https://blog.csdn.net/weixin_40816738/article/details/100066013

你可能感兴趣的:(MyCat)