登录
首页 >  文章 >  php教程

PHPEnv连接数据库教程:DBeaver使用指南

时间:2026-04-29 18:04:02 291浏览 收藏

本文详细解析了在 phpEnv 环境下使用 DBeaver 成功连接 MySQL/MariaDB 数据库的关键步骤与常见陷阱:由于 phpEnv 默认将数据库绑定至 127.0.0.1、使用非标准端口(如3307)、禁用 root 远程登录且空密码,直接用 localhost + root 会触发“Access denied”或“Public Key Retrieval not allowed”等错误;正确做法是先确认数据库真实运行状态和端口,再通过 phpMyAdmin 或命令行创建专用本地用户(如 dbeaver_user@127.0.0.1),最后在 DBeaver 中严格配置 Host(必须为 127.0.0.1)、端口、用户名密码,并启用 allowPublicKeyRetrieval、禁用 useSSL,同时手动指定默认数据库以解决 schema 不显示问题——每一步都直击新手踩坑高频点,帮你绕过玄学报错,实现稳定高效连接。

phpEnv如何使用DBeaver连接管理内部数据库?

phpEnv 自带的 MySQL/MariaDB 默认是本地绑定、无远程访问权限,且 root 用户默认禁用密码登录 —— 直接填 localhost + root + 空密码在 DBeaver 里必然报 Access denied for user 'root'@'localhost'Public Key Retrieval is not allowed 错误。

确认 phpEnv 数据库实际运行状态和端口

phpEnv 的数据库服务不是总在运行,也不是固定用 3306 —— 它可能被设为按需启动,或改用了非标端口(比如 3307、3308)以避免与系统 MySQL 冲突。

  • 打开 phpEnv 控制面板,查看「数据库」模块是否显示「已启动」;若为灰色/停止状态,先点击启动
  • 点击数据库右侧的「配置」按钮,打开 my.ini(Windows)或 my.cnf(Linux/macOS 模拟环境),搜索 port=,记下真实端口号(常见为 3307
  • 同时检查 bind-address 值:若为 127.0.0.1localhost,说明只允许本地连接,DBeaver 可用;若为 0.0.0.0,则需额外注意防火墙

必须创建一个带密码的专用连接用户

phpEnv 的 root 用户默认空密码且 host 限制为 127.0.0.1,DBeaver 连接时会因认证方式(caching_sha2_password)或 host 匹配失败而中断。不能硬改 root 密码,应新建用户。

  • 用 phpEnv 自带的 phpMyAdmin 或命令行进入 MySQL:mysql -u root -P 3307 -h 127.0.0.1(端口按上一步确认的填)
  • 执行以下语句(替换 your_pass):
    CREATE USER 'dbeaver_user'@'127.0.0.1' IDENTIFIED BY 'your_pass';<br>GRANT ALL ON *.* TO 'dbeaver_user'@'127.0.0.1';<br>FLUSH PRIVILEGES;
  • 不推荐用 '%''localhost':前者可能触发 DNS 解析问题,后者在 MySQL 8+ 中与 127.0.0.1 被视为不同 host

DBeaver 连接时关键参数设置

选 MySQL 连接类型后,大部分字段可默认,但以下几项必须手动核对,否则连上也查不了表:

  • Host127.0.0.1(不是 localhost):绕过 socket 文件路径问题,强制走 TCP
  • Port 填 phpEnv 实际端口(如 3307),不是默认 3306
  • User name 填上一步创建的 dbeaver_userPassword 填对应密码
  • 点击「Edit Driver Settings」→ 「Driver Properties」,找到 allowPublicKeyRetrieval 设为 true,并确保 useSSLfalse(phpEnv 默认无有效证书)
  • 首次连接会提示下载驱动:务必勾选「Download driver files automatically」,且提前在 Preferences → Maven 中配置阿里云镜像(https://maven.aliyun.com/repository/public),否则下载极慢或失败

连接成功后仍看不到数据库?检查 default schema 设置

即使连接测试通过,左侧导航树可能为空,或双击后提示「No schemas found」—— 这通常是因为 DBeaver 没有自动加载 schema 列表,或用户权限未显式授予 information_schema 等系统库。

  • 右键连接名 → 「Edit Connection」→ 「Connection settings」→ 「Initialization」选项卡
  • 勾选「Connect to database」,并在下拉框中手动选择一个已存在的数据库名(如 mysql 或你自己的库),否则 DBeaver 默认不加载任何 schema
  • 若仍不显示,右键连接 → 「Refresh metadata」,等待几秒;如持续失败,回到 SQL 编辑器执行 SHOW DATABASES; 验证用户确实有权限看到库列表

最易被忽略的是端口和 host 组合:phpEnv 多实例场景下,localhost127.0.0.1 在 MySQL 认证层不等价,33063307 混用会导致连接超时而非报错,排查时得两边日志对照看。

今天关于《PHPEnv连接数据库教程:DBeaver使用指南》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>