phpEnv不自带MySQL 8.0,所谓“phpEnv 8.0.2”实为phpStudy V8.1.x集成的PHP 8.0.2+MySQL 8.0.x组合;需通过phpStudy界面安装MySQL 8.0、修改认证插件为mysql_native_password、配置utf8mb4字符集并验证PDO连接。

确认 phpStudy 版本与 MySQL 状态
启动 phpStudy 主程序后,左侧菜单栏点击「数据库」→ 查看右侧是否显示「MySQL 8.0」及其状态。若显示「未安装」,需先点击右侧「安装」按钮;若已显示「运行中」,说明服务已就绪,可跳至下一步验证连接。
安装过程全自动:下载、解压、生成 my.ini、注册 Windows 服务、初始化 root 密码(随机生成并显示在界面),全程无需手动干预。安装完成后端口默认为 3306,root 密码可在 phpStudy 主界面底部状态栏或「数据库」→「管理」按钮弹出的窗口中查看。
修改 root 密码与字符集(关键配置)
phpStudy 安装的 MySQL 默认使用 caching_sha2_password 认证插件,PHP 7.4+ 原生支持,但若项目用的是较老的 PDO 或 mysqli 扩展(尤其未启用 mysqlnd),可能报错“Client does not support authentication protocol”。此时需登录后手动调整:
- 点击 phpStudy 中 MySQL 8.0 右侧的「管理」按钮,自动打开 phpMyAdmin(地址通常为
http://127.0.0.1/phpmyadmin) - 用界面显示的初始 root 密码登录 → 顶部切换到「用户账户」→ 找到
root@localhost→ 点击「编辑权限」→ 拉到底部「更改密码」→ 选择「密码哈希」为mysql_native_password→ 输入新密码并保存 - 或使用命令行(以管理员身份运行终端):
mysql -u root -p(输入初始密码)→ 执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';FLUSH PRIVILEGES;
验证 PHP 能否正常连接 MySQL 8.0
在 phpStudy 的「网站」模块中新建一个测试站点(如 test.local),根目录下新建 db_test.php,内容如下:
立即学习“PHP免费学习笔记(深入)”;
<?php
$host = '127.0.0.1';
$port = 3306;
$user = 'root';
$pass = '你设置的新密码';
try {
$pdo = new PDO("mysql:host={$host};port={$port};charset=utf8mb4", $user, $pass);
echo "✅ 连接成功!MySQL 版本:" . $pdo->query("SELECT VERSION()")->fetchColumn();
} catch (Exception $e) {
echo "❌ 连接失败:" . $e->getMessage();
}
?>
浏览器访问 http://test.local/db_test.php,看到带 ✅ 的提示即表示 PHP 与 MySQL 8.0 已打通。注意:务必使用 utf8mb4 字符集,否则 emoji 和部分中文可能乱码。
可选:微调 my.ini 提升开发体验
phpStudy 自动生成的配置文件位于:[phpstudy安装目录]\Extensions\MySQL8.0\my.ini
如需调整,建议仅修改以下安全且常用项(修改后需重启 MySQL 服务):
-
max_allowed_packet = 64M(避免导入大 SQL 文件失败) -
wait_timeout = 28800(连接空闲超时设为 8 小时,适合本地调试) -
character-set-server = utf8mb4和collation-server = utf8mb4_unicode_ci(全局字符集) - 确认
bind-address = 127.0.0.1(禁止外网访问,保障本地环境安全)



















