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