nig*_*old 4 credentials mariadb laravel
我有一个与 Laravel 的 stange 。我有一个坏习惯,就是用 laravel 项目在 virtual box 上创建项目进行测试。(debian last stable 目前是 9.1、nginx、php7.1、MariaDB)。
在你告诉我去某个地方阅读另一篇文章之前,请阅读所有内容,我可能错过了这篇文章,但我尝试了很多我尝试了大部分可能对其他人有用的解决方案,但在我的情况下却没有(谢谢)。
我尝试了不同的事情,但总是以打破一切并悬停(这是正常的......)而告终。
我已经尝试了许多安装,但从未遇到任何问题
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
直到今天。我准备了我的迁移文件并尝试了迁移,我收到了这条消息:
[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)
Run Code Online (Sandbox Code Playgroud)
和这个:
[PDOException]
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)
我像往常一样做了所有事情,我检查了 .env 文件中的凭据并对其进行了测试。没有问题。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=Password2
Run Code Online (Sandbox Code Playgroud)
数据库确实存在,这个名字不能错:
SHOW DATABASEs;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
Run Code Online (Sandbox Code Playgroud)
在 MariaDB 中查找代码错误 1698 时,他们告诉我该代码在尝试不使用密码连接时出现。
所以我的问题是为什么要这样做?我尝试了一个新项目,刚刚安装并执行了 artisan 命令行,它没有任何改变。
我想避免进行全新的操作系统安装。
预先感谢您的帮助,并为我糟糕的英语感到抱歉。
mat*_*zdz 13
对我来说,'root' 用户无法连接。以下是解决方法:
1.登录mysql控制台 $ mysql -u root -p
2.创建新用户
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)
3.grant privilages 给你的 Laravel 数据库
GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)
或授予所有表的特权
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)
4.flush 特权以进行更改
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
5.退出mysql控制台
exit
Run Code Online (Sandbox Code Playgroud)
6.编辑.env文件,更新你的MASTER_DB_USER和MASTER_DB_PASS匹配你的新用户
7. 运行迁移来测试
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
所以我解决了我的问题...看来我需要创建一个新的数据库帐户来写入数据库并且不能使用root...
我用另一个虚拟机测试了它,如果我创建一个新帐户,它会正常工作......
似乎问题出在 MariaDB 上...即使在 mysql_secure_installation 命令之后,我也可以使用或不使用密码连接到 root...我会解决这个问题...
多谢。
| 归档时间: |
|
| 查看次数: |
8917 次 |
| 最近记录: |