# TMS 初始化 SQL 执行说明 当前推荐使用 [V1__tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/src/main/resources/db/migration/V1__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` 模式执行: - [V1__tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/src/main/resources/db/migration/V1__tms_schema_full.sql) ### 方式二:用“脚本执行”而不是“单次执行” 如果你的客户端支持 `Run Script` / `Execute Script`,优先用脚本模式。 脚本模式通常会把每条语句分开发送,而不是整份文件一次发给数据库。 ### 方式三:使用命令行客户端导入 例如: ```bash mysql -h -P -u -p tms < /path/to/V1__tms_schema_full.sql ``` 或者先登录后: ```sql source /path/to/V1__tms_schema_full.sql; ``` ### 方式四:实在只能单条执行时 先执行: ```sql CREATE DATABASE IF NOT EXISTS tms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE tms; ``` 然后把 [V1__tms_schema_full.sql](/Users/waner/Work/CISD/文档/tms-framework/src/main/resources/db/migration/V1__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`