Ubuntu安装MySQL并用VS Code插件连接:TaoToken统一Key配置实战
1. Ubuntu 装 MySQL 连 VS Code 插件为什么总在最后一步翻车Ubuntu 上装 MySQL 本身不难apt两条命令就能跑起来真正让人抓狂的是「服务装好了VS Code 插件却连不上」。我自己第一次在 Ubuntu 22.04 上配 Django 环境时命令行里sudo mysql能进VS Code 的 Database Client 插件却一直弹Access denied折腾了快一个小时才发现是认证插件和绑定地址两个坑叠在一起。这篇就按「装服务 → 建库建用户 → VS Code 插件连接 → 凭证统一管理」的顺序走一遍每一步都给可复制的命令和配置。核心检索词先摆出来Ubuntu 安装 MySQL 并用 VS Code 插件连接本质是把本地数据库服务、客户端认证、插件连接参数三件事对齐。适合谁正在学 Django/Flask、需要在 Ubuntu 本地跑数据库、又想在编辑器里直接看表结构的开发者。顺带说一个容易被忽略的点本地开发时数据库密码、API Key 这类凭证散落在.env、插件配置、脚本里改一次要翻好几个文件。我在 §3 会用一个统一的 Key/API 通道把连接凭证收口VS Code 插件和后续的模型调用共用一套配置省得来回改。先说清楚整体链路MySQL 服务端跑在 Ubuntu 上监听 3306VS Code 插件作为客户端去连中间隔着「用户认证方式」和「监听地址」两道关。大部分人卡住不是命令敲错而是不知道 MySQL 8 默认用caching_sha2_password而很多老插件/老驱动只认mysql_native_password。下面一步步来。2. TaoToken 前置把连接凭证和模型 Key 收口到一处在动手装 MySQL 之前先把凭证管理这件事想清楚不然后面越配越乱。本地开发常见的凭证有三类数据库账号密码、第三方 API Key、模型调用 Key。传统做法是每个工具各存一份VS Code 插件里填一遍、.env里写一遍、脚本里再硬编码一遍改密码时漏掉一处就连不上。我现在的做法是用 TaoToken 做统一入口。它提供一个兼容 OpenAI 风格的 API 通道官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。你可以在控制台里生成一把 Key然后让 VS Code 插件、命令行工具、脚本都引用同一把 Key数据库连接信息则通过项目内的配置文件管理两者分开但都集中。具体操作路径先到控制台创建 API Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 生成后复制保存。如果你后面还要在 VS Code 里接 Claude Code 或做 Agent 编码可以看 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它把长期编码场景的额度单独拎出来比按次调用划算。这里要强调TaoToken 管的是「模型/API 调用」这类凭证MySQL 的账号密码还是存在 MySQL 自己那里。两者不要混。我见过有人把数据库密码也塞进 API Key 配置里结果排障时完全找不到问题在哪。正确的分层是——数据库凭证走 MySQL 用户体系模型/API 凭证走 TaoToken 统一 Key项目里用.env把两边都引用进来但来源分开。为什么要在装 MySQL 之前讲这个因为 VS Code 插件连接数据库时很多人会顺手在插件里也配一个 AI 补全或 SQL 生成功能这时候如果 Key 是散的插件配置会变得很乱。提前把 Key 收口后面插件里只填一个引用就行。模型对话入口在 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 需要验证 Key 是否可用时可以直接在网页里试一条请求。3. 可复制配置MySQL 安装 VS Code 插件连接参数这一节是全文最干的部分命令和配置都能直接复制。先装服务端和客户端。sudo apt update sudo apt-get install mysql-server -y sudo apt-get install mysql-client -y装完后 MySQL 8 默认会自己初始化root 用户走auth_socket认证所以sudo mysql能直接进但用密码反而进不去。先确认服务状态sudo systemctl status mysql看到active (running)就对了。接着做安全初始化这一步会问你设不设密码、要不要移除匿名用户sudo mysql_secure_installation按提示走密码强度选中等即可本地开发不用太苛刻。然后进 MySQL 建库建用户。注意这里要显式指定认证插件这是后面 VS Code 插件能不能连上的关键sudo mysql -u root进入 MySQL 命令行后执行CREATE DATABASE devdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER devuserlocalhost IDENTIFIED WITH mysql_native_password BY YourStrongPass123!; GRANT ALL PRIVILEGES ON devdb.* TO devuserlocalhost; FLUSH PRIVILEGES; EXIT;划重点IDENTIFIED WITH mysql_native_password这行必须写。MySQL 8 默认是caching_sha2_password很多 VS Code 数据库插件和 Django 的mysqlclient驱动对它支持不好直接报认证失败。改成mysql_native_password是最省事的解法。接下来是 VS Code 插件配置。我用的是 Database Client 这类插件连接配置本质是一段 JSON。在 VS Code 的settings.json里加{ database-client.connections: [ { name: local-devdb, type: mysql, host: 127.0.0.1, port: 3306, username: devuser, password: YourStrongPass123!, database: devdb, ssl: false } ] }如果你用的是其他插件字段名可能略有差异但host/port/username/password/database这五个是通用的。这里host建议写127.0.0.1而不是localhost因为部分插件对localhost会走 socket 连接反而绕过了 TCP 端口导致连不上。再补一个项目侧的.env把数据库和 TaoToken 的 Key 都放进来方便脚本引用# .env DB_HOST127.0.0.1 DB_PORT3306 DB_USERdevuser DB_PASSWORDYourStrongPass123! DB_NAMEdevdb TAOTOKEN_BASE_URLhttps://taotoken.net/api TAOTOKEN_API_KEYsk-你的Key这样 VS Code 插件读settings.json项目脚本读.env两边指向同一个数据库但凭证来源清晰。TaoToken 的 Key 只在.env里出现一次其他工具引用变量即可。需要看接入细节的话文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。4. 验证请求从命令行到插件的完整成功链路配置写完必须验证不然你不知道是 MySQL 没起来、用户没建对、还是插件配置错了。按从底层到上层的顺序验。第一步命令行验证用户能登录mysql -u devuser -p -h 127.0.0.1 -P 3306 devdb输入密码后如果进了mysql提示符说明用户和认证插件都没问题。如果这里就报Access denied回去检查 §3 里IDENTIFIED WITH mysql_native_password那行有没有执行成功。可以用下面这条查认证方式SELECT user, host, plugin FROM mysql.user WHERE userdevuser;plugin列应该是mysql_native_password如果是caching_sha2_password用这条改ALTER USER devuserlocalhost IDENTIFIED WITH mysql_native_password BY YourStrongPass123!; FLUSH PRIVILEGES;第二步验证端口在监听ss -tlnp | grep 3306应该看到127.0.0.1:3306或0.0.0.0:3306。如果只有 socket 没有 TCP检查/etc/mysql/mysql.conf.d/mysqld.cnf里的bind-address默认是127.0.0.1本地开发保持这个就行别改成0.0.0.0暴露到公网。第三步VS Code 插件里点连接。成功的话左侧会展开devdb下的表列表右键能执行 SQL。如果插件报错先看它的输出面板错误信息通常比弹窗详细。第四步验证 TaoToken Key 可用。用 curl 发一条最小请求curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer $TAOTOKEN_API_KEY返回模型列表就说明 Key 有效。这一步和数据库无关但把两条链路都验通后面写 Django 或做 SQL 生成时才不会互相甩锅。想直接在网页里试的话模型对话入口 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 更直观。实测下来四步都过整个环境就算通了。我一般会把这几条验证命令写成一个check.sh换机器时直接跑一遍比手动点插件快。5. 本篇常见错排查401、认证失败、插件连不上排障这节按真实报错来对都是我自己踩过的。报错一ERROR 1045 (28000): Access denied for user devuserlocalhost最常见。三个原因密码错、认证插件不对、host 不匹配。先确认插件方式见 §4 的查询语句再确认你建用户时写的是devuserlocalhost还是devuser%。如果你用127.0.0.1连MySQL 可能匹配到localhost这条记录也可能匹配%取决于你的建法。稳妥做法是两条都建或者统一用devuser%但只监听本地。报错二插件里报Authentication plugin caching_sha2_password cannot be loaded这就是 §3 强调的坑。MySQL 8 默认插件老驱动不认。执行ALTER USER改成mysql_native_password即可。改完记得FLUSH PRIVILEGES。报错三Cant connect to MySQL server on 127.0.0.1 (111)端口没监听或服务没起。sudo systemctl restart mysql重启再ss -tlnp | grep 3306确认。如果还是不行看/var/log/mysql/error.log里面通常有具体原因比如磁盘满、配置语法错。报错四TaoToken 请求返回 401Key 无效或没带上。检查Authorization: Bearer后面有没有空格、Key 有没有复制全。如果是在 VS Code 插件里配的确认插件读的是.env还是它自己的配置项两者别混。401 基本就是 Key 问题和网络无关。报错五插件连上了但看不到表数据库选错了。连接配置里的database字段要填devdb不填的话插件可能默认连到information_schema或空库。另外确认devuser对devdb有权限SHOW GRANTS FOR devuserlocalhost;能查。报错六local proxy failed或连接超时这类多半是插件走了代理设置。VS Code 的http.proxy如果配了但代理没开插件连接会卡住。本地数据库连接不需要代理把插件的代理相关选项关掉或者确认127.0.0.1在 no_proxy 列表里。排障的核心思路先命令行能连再插件能连先 MySQL 层通再应用层通。别一上来就怀疑插件九成问题在 MySQL 用户配置。6. 凭证统一之后本地开发少改几个文件环境搭完之后日常开发里真正省事的是凭证不再散落。VS Code 插件读settings.json里的数据库连接项目脚本读.envTaoToken 的 Key 只在.env出现一次需要换 Key 时改一处所有引用它的工具自动生效。API Key 管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 生成和吊销都在那里。如果你后面要在 VS Code 里接 Claude Code 做编码配置三件套是 Base URL、Key、Model IDBase URL 填https://taotoken.net/apiKey 填控制台生成的那把Model ID 按文档里支持的填。这三样和数据库连接是两套独立配置别混在一个文件里。Claude Code 的接入说明在 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 照着填就行。最后给个实用习惯把 §4 的四步验证写进项目的Makefile或check.sh每次换机器或重装 MySQL 后跑一遍比凭记忆点插件靠谱。数据库密码用强密码但别用特殊字符里容易转义的那些!和$在 shell 里容易出问题我一般用字母数字加-和_。装完记得sudo systemctl enable mysql不然重启后服务不会自启第二天打开 VS Code 又连不上白排查一轮。