80 lines
2.2 KiB
Markdown
80 lines
2.2 KiB
Markdown
# TMS 初始化 SQL 执行说明
|
|
|
|
当前推荐使用 [tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/docs/sql/tms_schema_full.sql)。
|
|
|
|
这份脚本已经整理成“最终库结构初始化版”,适合空库直接初始化,不再按 migration 逐步执行 `ALTER / RENAME`。
|
|
|
|
如果你在 TiDB 客户端里一次性执行整份文件,出现下面这类报错:
|
|
|
|
```text
|
|
SQL Error [8130] [HY000]: client has multi-statement capability disabled
|
|
```
|
|
|
|
这不是 SQL 内容本身错误,而是“客户端把整份脚本作为一次多语句请求发送”,而当前 TiDB 连接未开启 multi-statement。
|
|
|
|
## 推荐做法
|
|
|
|
### 方式一:用脚本执行模式运行最终初始化脚本
|
|
|
|
优先用客户端的 `Run Script` / `Execute Script` 模式执行:
|
|
|
|
- [tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/docs/sql/tms_schema_full.sql)
|
|
|
|
### 方式二:用“脚本执行”而不是“单次执行”
|
|
|
|
如果你的客户端支持 `Run Script` / `Execute Script`,优先用脚本模式。
|
|
脚本模式通常会把每条语句分开发送,而不是整份文件一次发给数据库。
|
|
|
|
### 方式三:使用命令行客户端导入
|
|
|
|
例如:
|
|
|
|
```bash
|
|
mysql -h <host> -P <port> -u <user> -p tms < /path/to/tms_schema_full.sql
|
|
```
|
|
|
|
或者先登录后:
|
|
|
|
```sql
|
|
source /path/to/tms_schema_full.sql;
|
|
```
|
|
|
|
### 方式四:实在只能单条执行时
|
|
|
|
先执行:
|
|
|
|
```sql
|
|
CREATE DATABASE IF NOT EXISTS tms
|
|
DEFAULT CHARACTER SET utf8mb4
|
|
COLLATE utf8mb4_general_ci;
|
|
|
|
USE tms;
|
|
```
|
|
|
|
然后把 [tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/docs/sql/tms_schema_full.sql) 中的语句按分号逐条执行。
|
|
|
|
## 不推荐但可选
|
|
|
|
你也可以按报错提示开启:
|
|
|
|
```sql
|
|
SET GLOBAL tidb_multi_statement_mode='ON';
|
|
```
|
|
|
|
但这会影响实例级行为,有安全风险,不建议为了初始化脚本临时这么做,除非你明确知道数据库侧的风险边界并且由 DBA 允许。
|
|
|
|
## 当前默认账号种子
|
|
|
|
脚本已经包含 4 个固定角色账号:
|
|
|
|
- `SUPER_ADMIN`
|
|
- `KEY_ADMIN`
|
|
- `AUDIT_ADMIN`
|
|
- `OPS_ADMIN`
|
|
|
|
默认口令均为 `12345678`,其中:
|
|
|
|
- `KEY_ADMIN` 默认 `ACTIVE`
|
|
- 其他角色默认 `UNENABLED`
|
|
- 所有角色 `need_change_password = 1`
|