如何解决Laravel 8执行php artisan migrate时报SQLSTATE[HY000] [1049]未知数据库错误
解决方案
错误提示核心是数据库服务中不存在名为verified_db的数据库,可按以下步骤逐一排查解决:
- 第一步:提前创建目标数据库
Laravel的migrate命令不会自动创建数据库,你需要先手动登录你的MySQL/MariaDB服务,执行SQL语句创建库:
也可以通过Navicat、phpMyAdmin等可视化数据库管理工具操作创建。CREATE DATABASE IF NOT EXISTS verified_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci; - 第二步:核对.env配置正确性
确认.env文件中以下参数和你的数据库服务配置完全匹配:
注意数据库名大小写,Linux环境下MySQL对库名大小写敏感,需完全一致。DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=verified_db DB_USERNAME=你的数据库用户名 DB_PASSWORD=你的数据库密码 - 第三步:清除Laravel配置缓存
如果你之前执行过配置缓存命令,.env的修改不会即时生效,执行以下命令清空缓存:php artisan config:clear - 第四步:确认数据库账号权限
确保你配置的数据库账号拥有verified_db的全部操作权限,可执行以下SQL赋权:GRANT ALL PRIVILEGES ON verified_db.* TO '你的数据库用户名'@'localhost'; FLUSH PRIVILEGES; - 第五步:验证连接后重试迁移
完成以上操作后,先执行php artisan tinker进入交互模式,输入DB::connection()->getPdo();无报错则代表连接正常,再重新执行php artisan migrate即可。
内容的提问来源于stack exchange,提问作者Richard Rodgers
相关产品推荐
相关产品推荐

