SQLSTATE[HY000] [1698]

jon*_*eek 1 php mysql laravel-5 ubuntu-16.04

我怎样才能克服这个错误?

错误: SQLSTATE[HY000] [1698] 用户 'root'@'localhost' 的访问被拒绝(SQL:从users where email= email@gmail.com选择计数(*)作为聚合

我正在使用 Ubuntu

请帮忙

cry*_*yss 11

首先以 root 身份登录:

$ sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)

然后创建或更改非 root 用户(如果需要,请使用“127.0.0.1”而不是“localhost”):

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'adminspassword';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

退出并重启:

exit
$sudo service mysql restart
$sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

并编辑 .env 文件:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3630
DB_DATABASE=yourdbname
DB_USERNAME=admin
DB_PASSWORD=adminspassword
Run Code Online (Sandbox Code Playgroud)


小智 3

MySQL 会区分“localhost”和“127.0.0.1”。

可能不允许“root”@“localhost”,因为用户表中有一个条目只允许从 127.0.0.1 进行 root 登录。

这也可以解释为什么服务器上的某些应用程序可以连接到数据库,而有些则不能,因为连接数据库的方式不同。并且您当前不允许通过“localhost”。