错误 1045(28000):用户“root@localhost”的访问被拒绝(使用密码:no)

use*_*705 51 mysql permissions

我正在尝试在我的 Ubuntu 桌面上安装 queXS cati 应用程序,并且我安装了 MySQL 服务器和 PHP 5,但我无法在没有密码的情况下以 root 身份登录 MySQL 服务器:

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

它说

ERROR 1045(28000) : Access denied for user 'root@localhost' (using password: no )
Run Code Online (Sandbox Code Playgroud)

但是我进去就没事了 mysql -u root -p

我无法弄清楚问题是什么。

fal*_*ner 52

添加-p基于密码登录的开关:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

这是正常的行为。您为数据库设置了 root 密码,因此从现在开始,没有密码就无法访问它。这就是为什么它报告:

用户“root@localhost”的访问被拒绝(使用密码: no

显然,当您通过-p交换机提供密码时,您就成功了。


小智 6

简而言之,您的“root”会话不知道 mysql root 用户的密码。

如果您想让访问 mysql 变得更容易,请使用以下行创建一个.my.cnf文件/root/

[mysqladmin]
 user = root
 password = mysqlrootpassword
[mysql]
 user = root
 password = mysqlrootpassword
[mysqldump]
 user = root
 password = mysqlrootpassword
Run Code Online (Sandbox Code Playgroud)

其中当然mysqlrootpassword是你的mysql root密码。当您执行 mysql 时,它会使用此密码。

注意此文件的安全 - 赋予它安全权限,以便您服务器上的任何人都无法读取它!