91 lines
2.0 KiB
Markdown
91 lines
2.0 KiB
Markdown
# table-alias - 表结构同步技能
|
||
|
||
## 状态
|
||
|
||
✅ **单表模式已就绪** - 支持同步单张表,避免全量同步的耗时和风险
|
||
|
||
⚠️ **准生产连接** - 需要在可访问 100.115.195.188:50036 的网络环境中执行
|
||
|
||
## 快速开始
|
||
|
||
### 单表同步(推荐)
|
||
|
||
```bash
|
||
# 设置环境变量
|
||
export MYSQL_PWD_WIT=o2byaCkBvF1Y8S2L
|
||
export MYSQL_PWD_SQL=5gynj20J
|
||
|
||
# 同步单张表
|
||
cd ~/.openclaw/skills/table-alias
|
||
./scripts/sync_table.sh dmp_serp dmp_im_account_age
|
||
```
|
||
|
||
### 全库同步
|
||
|
||
```bash
|
||
./scripts/sync_table.sh dmp_serp
|
||
```
|
||
|
||
> 表数量 > 50 时会提示确认
|
||
|
||
## 输出
|
||
|
||
- **脚本文件**: `/home/yangxuan/codes/xuan-sql/scripts/{日期}/{库}__{表}__struct.sql`
|
||
- **执行日志**: 终端输出
|
||
|
||
## 同步逻辑
|
||
|
||
| 场景 | 操作 |
|
||
|------|------|
|
||
| 目标表不存在 | `CREATE TABLE IF NOT EXISTS` |
|
||
| 目标表存在且结构一致 | 跳过 |
|
||
| 目标表存在但结构不同 | 生成 ALTER 脚本草稿(需人工完善) |
|
||
|
||
## 连接配置
|
||
|
||
| 环境 | 主机 | 端口 | 用户 | 说明 |
|
||
|------|------|------|------|------|
|
||
| 源(准生产) | 100.115.195.188 | 50036 | witsoftd | 只读 |
|
||
| 目标(VPS) | 101.34.227.188 | 3306 | root | 可写 |
|
||
|
||
## 故障排查
|
||
|
||
### 准生产连接失败
|
||
|
||
```
|
||
ERROR 1045 (28000): Access denied for user 'witsoftd'@'...'
|
||
```
|
||
|
||
**原因**:
|
||
- 密码错误
|
||
- IP 白名单限制(只能在 100.115.195.x 网段访问)
|
||
|
||
**解决**:
|
||
- 在正确的网络环境执行(如 VPS、内网机器)
|
||
- 检查 `.env` 文件中的 `MYSQL_PWD_WIT`
|
||
|
||
### 表不存在
|
||
|
||
```
|
||
源表 dmp_serp.xxx 不存在
|
||
```
|
||
|
||
**解决**: 确认表名正确,使用 `SHOW TABLES` 查看实际表名
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
skills/table-alias/
|
||
├── SKILL.md # 技能定义
|
||
├── README.md # 本文档
|
||
├── scripts/
|
||
│ └── sync_table.sh # 执行脚本
|
||
└── examples/
|
||
└── single-table.md # 单表示例
|
||
```
|
||
|
||
## 版本
|
||
|
||
- **v1.1.0** (2026-08-14) - 支持单表模式
|
||
- **v1.0.0** (2026-08-14) - 初始版本
|