新闻详情

新闻详情

首页 / 资讯中心 / 详情

云服务器mysql分库分表环境搭建(2库4表)

发布时间:2026/9/30 2:45:16来源:尧图网络
云服务器mysql分库分表环境搭建(2库4表)
阿里巴巴Java开发手册【推荐】单表行数超过 500 万行或者单表容量超过 2GB才推荐进行分库分表。单表数据量太大 分库不能解决存在瓶颈需要分表。2库4表# 2个库每个库2个表使用user_id进行分库使用order进行分表# 可自行扩展 10库100表100库10000表server-order0t_order0、t_order1server-order1t_order0、t_order1第一个库 server-order0docker run -d \ -p 4310:3306 \ -v /server/order0/conf:/etc/mysql/conf.d \ -v /server/order0/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name server-order0 \ mysql:8.0.30#进入容器 docker exec -it server-order0 env LANGC.UTF-8 /bin/bash #进入容器内的mysql命令行 mysql -uroot -p #修改默认密码插件 ALTER USER root% IDENTIFIED WITH mysql_native_password BY 123456;第二个库 server-order1docker run -d \ -p 4311:3306 \ -v /server/order1/conf:/etc/mysql/conf.d \ -v /server/order1/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name server-order1 \ mysql:8.0.30#进入容器 docker exec -it server-order1 env LANGC.UTF-8 /bin/bash #进入容器内的mysql命令行 mysql -uroot -p #修改默认密码插件 ALTER USER root% IDENTIFIED WITH mysql_native_password BY 123456;分别建表CREATE DATABASE db_order; USE db_order; CREATE TABLE t_order0 ( id BIGINT, order_no VARCHAR(30), user_id BIGINT, PRIMARY KEY(id) ); CREATE TABLE t_order1 ( id BIGINT, order_no VARCHAR(30), user_id BIGINT, PRIMARY KEY(id) );查看是否创建成功docker exec -it server-order0 bashmysql -uroot -pshow databases;use db_order;show tables;配置文件配置# 默认是 Standalone 不写也行 mode: type: Standalone repository: type: JDBC # 输出sql props: sql-show: true # 哪些数据源 配置好 dataSources: user_ds: dataSourceClassName: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://localhost:4301/db_user username: root password: 123456 order_ds_0: # 2个订单库 0 dataSourceClassName: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://localhost:4310/db_order username: root password: 123456 order_ds_1: # 2个订单库 1 dataSourceClassName: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://localhost:4311/db_order username: root password: 123456 # 水平分片规则 rules: - !SHARDING tables: t_user: actualDataNodes: user_ds.t_user t_order: actualDataNodes: order_ds_${0..1}.t_order${0..1} # 分库、分表 databaseStrategy: # 分库策略 以用户 user_id 字段进行shard standard: shardingColumn: user_id shardingAlgorithmName: userid_inline # 指向下面的 userid_inline 规则 tableStrategy: # 分表策略 以 id雪花算法字段分(不写的话 默认使用分库计算) standard: shardingColumn: id shardingAlgorithmName: order_id_inline shardingAlgorithms: userid_inline: # 制定 分库的算法 user_id type: INLINE props: algorithm-expression: order_ds_${user_id % 2} order_id_inline: # 制定 分表的策略 order_id type: INLINE props: algorithm-expression: t_order${id % 2}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从暴力到单调栈 —— 以 LeetCode 1475【商品折扣后的最终价格】为例 2026/9/30 9:35:44

从暴力到单调栈 —— 以 LeetCode 1475【商品折扣后的最终价格】为例

在算法面试和日常开发中,栈(Stack)是一种极其重要且高频使用的数据结构。今天,我们通过一道经典的 LeetCode 题目,彻底搞懂栈的原理、C 中栈的声明与常用函数,以及如何利用“单调栈”将算法效率优化到极致。…

阅读更多 →
人脸识别考勤系统落地实战:从检测对齐到阈值校准的完整指南 2026/9/30 9:35:37

人脸识别考勤系统落地实战:从检测对齐到阈值校准的完整指南

简介:一份聚焦互联网环境下校园考勤智能化改造的专题研究文档,源自《现代电子技术》2020年第10期,适合教育信息化从业者、高校教师、考勤系统开发者及课程论文写作者阅读。文档先介绍人脸识别基本原理,明确人脸检测、特征提取、人…

阅读更多 →
函数中特殊的两个关键词“static“和”extern“和链式访问 2026/9/30 9:35:37

函数中特殊的两个关键词“static“和”extern“和链式访问

本文讲清三个 C 语言高频考点:static 的两种用法、extern 的作用、以及链式访问。配合内存分区图和运行截图,看完就能懂。 1,“static”和“extern”** ***先放一个很重要的图片 static: 给大家一组代码 大家先猜一下,循环调用 5 …

阅读更多 →
智慧社区物业 2.0 商业系统设计方案:消费返物业费 + 物业金循环生态 2026/9/30 9:35:23

智慧社区物业 2.0 商业系统设计方案:消费返物业费 + 物业金循环生态

本文面向 B 端产品经理、系统架构师、智慧社区解决方案从业者,分析传统物业数字化项目痛点,介绍物业 2.0 社区数字化商业系统整体设计思路。区别于传统只做报修缴费的工具型智慧社区系统,该方案构建一套具备商业闭环的操作系统,融…

阅读更多 →
RAG 检索增强生成实战:从文档切分到混合检索的本地知识库搭建指南 2026/9/30 9:35:17

RAG 检索增强生成实战:从文档切分到混合检索的本地知识库搭建指南

1. RAG 到底是什么,为什么现在人人都在聊RAG,全称 Retrieval-Augmented Generation,中文叫检索增强生成。拆开看就三件事:检索、增强、生成。检索是从你自己的资料库里找到跟问题相关的内容,增强是把这些内容塞进大模型…

阅读更多 →
2026 AI编程核心:工程化交付能力与智能体落地实践 2026/9/30 9:35:17

2026 AI编程核心:工程化交付能力与智能体落地实践

1. 2026年不是“智能体元年”,而是工程化交付能力的分水岭 我去年在一家做工业软件SaaS的公司带团队落地AI编程辅助系统,当时内部吵得最凶的问题不是“要不要上”,而是“到底该把资源砸在代码补全插件,还是直接跳进智能体开发”。…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉