直接修改 .env 文件即可连接 MySQL,Laravel 默认读取 DB_* 环境变量覆盖 config/database.php 配置;需注意主机用 127.0.0.1、密码特殊字符 URL 编码、MySQL 8 认证插件兼容性等问题,并执行 config:clear 清缓存。

直接改 .env 文件就能连上 MySQL,不需要动 config/database.php 里的默认配置 —— Laravel 默认就是读取环境变量来初始化数据库连接的。
修改 .env 文件中的数据库配置项
这是最常用、最推荐的方式。Laravel 启动时会自动从 .env 加载 DB_* 变量,并覆盖 config/database.php 中对应键值。
-
DB_CONNECTION=mysql:必须是mysql,不能写成MySQL或MYSQL -
DB_HOST=127.0.0.1:不建议用localhost(PHP 会尝试走 socket,可能失败) -
DB_PORT=3306:如果 MySQL 改了端口,这里必须同步 -
DB_DATABASE=your_db_name:数据库名要提前在 MySQL 里创建好 -
DB_USERNAME=root和DB_PASSWORD=:密码含特殊字符(如@、/)要 URL 编码,例如pass@word→pass%40word
执行 php artisan tinker 测试连接是否生效
别急着跑迁移或查数据,先确认底层连接通不通。进入交互式终端后手动触发一次查询:
php artisan tinker
> DB::connection()->getPdo();
> DB::select('select 1 as test');
如果报错 SQLSTATE[HY000] [1045] Access denied for user...,说明账号密码或权限不对;报错 Connection refused,大概率是 DB_HOST 或 DB_PORT 没对上,或者 MySQL 没启动。
运行 php artisan migrate 前清缓存
改完 .env 后,Laravel 会把配置缓存起来。如果之前运行过 config:cache,新配置不会生效。
SHOPEX简灰服装商城整站源码下载。 安装方法:1.解压上传程序至网站根目录.. 访问:域名/bak.(用户名:admin 密码:123456)2.进入帝国备份王后,配置数据库数据库信息.选择-www.taomoban.net目录.还原数据库.3.修改FTP目录下的config/config.phpphp 数据库连接信息.4.登陆网站后台--清空缓存..5.删除bak文件夹 后台:shopadm
-
开发环境建议始终禁用配置缓存:
php artisan config:clear - 如果已缓存过,必须执行:
php artisan config:clear && php artisan cache:clear - 再验证一遍:
php artisan tinker -c然后config('database.connections.mysql.host')看输出是否是你刚填的值
常见错误:本地 MySQL 8 默认认证插件不兼容
Laravel 8+ 默认用 mysqlnd 驱动,而 MySQL 8 新装实例默认使用 caching_sha2_password 插件,PHP 旧版本(如 7.4)不支持,会卡在连接阶段。
解决办法只有两个:
- 升级 PHP 到 7.4.16+ 或 8.0+(推荐)
- 降级 MySQL 用户认证方式(临时方案):
ALTER USER 'your_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
这个坑特别容易被忽略 —— 所有配置看着都对,但就是连不上,错误日志里也只显示“Connection refused”或空异常。









