mysql mcp

dbhub项目地址

dbhub.github

mysql+mcp

docker run -d \
  --name gf-mysql \
  --restart always \
  -p 13388:3306 \
  -v /root/dockerV/mysql_data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=GoldenFactory@2025 \
  -e MYSQL_DATABASE=golden_factory \
  -e MYSQL_USER=gf_user \
  -e MYSQL_PASSWORD=Cd40k1SKIXBQ \
  mysql:8.0 \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

docker run -d --init \
  --name dbhub \
  --publish 9988:8080 \
  bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:GoldenFactory@2025@112.52.23.163:13388/golden_factory?sslmode=disable"

如果是本地容器启动的,则有两种方式配置(推荐方式一)

方式一:这是 Docker 官方推荐的容器间通信方式,因为你的 MySQL 是运行在 Docker 容器 (gf-mysql) 里、MCP 也是 Docker 容器,让两个容器直接在 Docker 内网互联,优势非常多:
无需依赖宿主机端口映射,访问速度更快、更稳定
不会有宿主机端口冲突问题
不用写 IP 地址,用容器名直接访问,更优雅
核心原理
启动 MCP 容器时,添加 --link 目标容器名:别名 参数,即可让当前容器直接访问目标容器
容器互联后,直接访问「别名:容器内部端口」即可,MySQL 容器内部的端口永远是 3306(不是宿主机的 13388)

docker run -d --init \
  --name golden_facotory_mysql_mcp \
  --publish 9977:8080 \
  --link gf-mysql:gf-mysql \
  bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:GoldenFactory%402025@gf-mysql:3306/golden_factory?sslmode=disable"

方式二:Docker 为 Mac/Linux/Windows 都提供了一个「宿主机专属访问地址」:host.docker.internal,这个地址是 Docker 的内置 DNS,在任何容器内访问这个地址,都会直接解析到你的宿主机 IP。

docker run -d --init \
  --name golden_facotory_mysql_mcp \
  --publish 9977:8080 \
  bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:GoldenFactory%402025@host.docker.internal:13388/golden_factory?sslmode=disable"

启动方式一:

npx @bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:Cd41k1SKIXBQ@101.31.134.15:3307/ry-vue?sslmode=disable"

启动方式二:

docker run --rm -d --init \
  --name dbhub \
  --publish 9999:8080 \
  bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:Cd41k1SKIXBQ@101.31.164.15:3307/ry-vue?sslmode=disable"

docker run -d --init \
  --name dbhub \
  --publish 9988:8080 \
  bytebase/dbhub \
  --transport http \
  --port 8080 \
  --dsn "mysql://root:psd%402025@106.23.23.164:13388/golden_factory"

如果密码中包含@,要改为%40。

cursor配置

"dbhub-mysql": {
      "transport": "http",
      "url": "http://localhost:9999/message"
    }

windsurf配置

"dbhub-mysql": {
            "serverUrl": "http://localhost:9999/message"
        }

antigravity配置

{
    "mcpServers": {
        "mysql": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "bytebase/dbhub",
                "--transport",
                "stdio",
                "--dsn",
                "mysql://root:GoldenFactory%402025@112.52.23.164:13388/golden_factory?sslmode=disable"
            ]
        }
    }
}
posted @ 2025-08-14 16:58  iiiiiiiivan  阅读(75)  评论(0)    收藏  举报