MySQL 数据库

SKILL开发

原名 mysql

开发 只读 许可证明确 OpenClaw
安装这个技能

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

累计安装 123,624 本周 5,050
GitHub 星标 6 仓库 mysql
下载量 39,996 技能市场下载数
权限级别 只读 安装前请确认风险范围
许可证 许可证明确 MIT-0

安装

ClawHub 市场
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
openclaw skills install mysql

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方ivangdavila仓库 mysql · 版本 1.0.1
宿主客户端OpenClaw技能可被这些客户端加载
安装方式ClawHub 市场安装包 ivangdavila/mysql
权限级别只读安装前请确认风险范围
许可证MIT-0许可证明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-05-01上游最后核验时间 · 数据更新 未标注
正文体量4.1 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

5 项能力
上游给出的能力概览与适用场景
  • 按任务关键词查找相关 Skills
  • 展示可复制的安装命令
  • 保留来源站点、仓库和原始说明,方便继续核验
  • 补充不同宿主或平台的使用分布数据
  • 展示第三方安全扫描或审计结果
OpenClaw 用户查找和安装 Skill 时用户想查找某类 Agent Skill 时需要根据任务场景推荐可安装能力包时需要对比不同来源的安装命令和来源信息时

权限与风险

只读
装之前先读完这段

安装与使用指南

安装步骤

本站只展示命令,不托管安装包,也不自动执行。

怎么用

安装后应在对应宿主中按原始 README 的触发条件使用;当前草稿只做目录说明,具体调用方式由规则抽取,异常条目再复核。

SKILL.md 全文

4.1 KB
模型实际读到的说明书原文,来自技能仓库

Quick Reference

Topic File
Index design deep dive indexes.md
Transactions and locking transactions.md
Query optimization queries.md
Production config production.md

Character Set Traps

  • utf8 is broken—only 3 bytes, can't store emoji; always use utf8mb4
  • utf8mb4_unicode_ci for case-insensitive sorting; utf8mb4_bin for exact byte comparison
  • Collation mismatch in JOINs kills performance—ensure consistent collation across tables
  • Connection charset must match: SET NAMES utf8mb4 or connection string parameter
  • Index on utf8mb4 column larger—may hit index size limits; consider prefix index

Index Differences from PostgreSQL

  • No partial indexes—can't WHERE active = true in index definition
  • No expression indexes until MySQL 8.0.13—must use generated columns before that
  • TEXT/BLOB needs prefix length: INDEX (description(100))—without length, error
  • No INCLUDE for covering—add columns to index itself: INDEX (a, b, c) to cover c
  • Foreign keys auto-indexed only in InnoDB—verify engine before assuming

UPSERT Patterns

  • INSERT ... ON DUPLICATE KEY UPDATE—not standard SQL; needs unique key conflict
  • LAST_INSERT_ID() for auto-increment—no RETURNING clause like PostgreSQL
  • REPLACE INTO deletes then inserts—changes auto-increment ID, triggers DELETE cascade
  • Check affected rows: 1 = inserted, 2 = updated (counter-intuitive)

Locking Traps

  • SELECT ... FOR UPDATE locks rows—but gap locks may lock more than expected
  • InnoDB uses next-key locking—prevents phantom reads but can cause deadlocks
  • Lock wait timeout default 50s—innodb_lock_wait_timeout for adjustment
  • FOR UPDATE SKIP LOCKED exists in MySQL 8+—queue pattern
  • InnoDB default isolation is REPEATABLE READ, not READ COMMITTED like PostgreSQL
  • Deadlocks are expected—code must catch and retry, not just fail

GROUP BY Strictness

  • sql_mode includes ONLY_FULL_GROUP_BY by default in MySQL 5.7+
  • Non-aggregated columns must be in GROUP BY—unlike old MySQL permissive mode
  • ANY_VALUE(column) to silence error when you know values are same
  • Check sql_mode on legacy databases—may behave differently

InnoDB vs MyISAM

  • Always use InnoDB—transactions, row locking, foreign keys, crash recovery
  • MyISAM still default for some system tables—don't use for application data
  • Check engine: SHOW TABLE STATUS—convert with ALTER TABLE ... ENGINE=InnoDB
  • Mixed engines in JOINs work but lose transaction guarantees

Query Quirks

  • LIMIT offset, count different order than PostgreSQL's LIMIT count OFFSET offset
  • != and <> both work; prefer <> for SQL standard
  • No transactional DDL—ALTER TABLE commits immediately, can't rollback
  • Boolean is TINYINT(1)—TRUE/FALSE are just 1/0
  • IFNULL(a, b) instead of COALESCE for two args—though COALESCE works

Connection Management

  • wait_timeout kills idle connections—default 8 hours; pooler may not notice
  • max_connections default 151—often too low; each uses memory
  • Connection pools: don't exceed max_connections across all app instances
  • SHOW PROCESSLIST to see active connections—kill long-running with KILL <id>

Replication Awareness

  • Statement-based replication can break with non-deterministic functions—UUID(), NOW()
  • Row-based replication safer but more bandwidth—default in MySQL 8
  • Read replicas have lag—check Seconds_Behind_Master before relying on replica reads
  • Don't write to replica—usually read-only but verify

Performance

  • EXPLAIN ANALYZE only in MySQL 8.0.18+—older versions just EXPLAIN without actual times
  • Query cache removed in MySQL 8—don't rely on it; cache at application level
  • OPTIMIZE TABLE for fragmented tables—locks table; use pt-online-schema-change for big tables
  • innodb_buffer_pool_size—set to 70-80% of RAM for dedicated DB server

安全信息

审计结论
未标注不代表已通过审计
安全审计VirusTotal、ClawScan、Static analysis第三方安全审计平台给出的结论

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-05-01。