gpt4 book ai didi

迁移时用户 root@localhost 的 Laravel 5.4 访问被拒绝

转载 作者:行者123 更新时间:2023-12-01 09:15:40 31 4
gpt4 key购买 nike

我有一个与 Laravel 的 stange 。我有一个坏习惯,就是用 laravel 项目在 virtual box 上创建项目进行测试。 (debian last stable 目前是 9.1、nginx、php7.1、MariaDB)。

在你告诉我去某个地方阅读另一篇文章之前,请阅读所有内容,我可能错过了这篇文章,但我尝试了很多我尝试了大多数可能对其他人有用的解决方案,但在我的情况下却没有(谢谢)。

我尝试了不同的事情,但总是以打破一切并悬停(这是正常的......)而告终。

我已经尝试了许多安装,但从未遇到任何问题

php artisan migrate

直到今天。我准备了我的迁移文件并尝试了迁移,我收到了这条消息:
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: sele
ct * from information_schema.tables where table_schema = test and table_nam
e = migrations)

和这个:
[PDOException]
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

我像往常一样做了所有事情,我检查了 .env 文件中的凭据并对其进行了测试。没有问题。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=Password2

数据库确实存在,这个名字不能错:
SHOW DATABASEs;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+

在 MariaDB 中查找代码错误 1698 时,他们告诉我,当它尝试无密码连接时会出现此代码。

所以我的问题是为什么要这样做?我尝试了一个新项目,刚刚安装并执行了 artisan 命令行,它没有任何改变。

我想避免进行全新的操作系统安装。

预先感谢您的帮助,并为我糟糕的英语感到抱歉。

最佳答案

对我来说,'root' 用户无法连接。以下是解决方法:

1.登录mysql控制台$ mysql -u root -p
2.创建新用户

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

3.grant privilages 给你的 Laravel 数据库
GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';

或授予所有表的特权
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';

4.flush 特权以进行更改
FLUSH PRIVILEGES;

5.退出mysql控制台
exit

6.编辑 .env文件,更新您的 MASTER_DB_USERMASTER_DB_PASS匹配您的新用户

7. 运行迁移来测试
php artisan migrate

关于迁移时用户 root@localhost 的 Laravel 5.4 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471494/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com