访问被拒绝用户'root'@'localhost'(使用密码:NO) - 使用`mysql -u root -p`

时间:2017-03-05 07:51:10

标签: mysql terminal

我只能通过命令访问成功:

mysql -u root -p

另一个命令如:

mysql

mysql -u root

有类似的错误:

Access denied for user 'root'@'localhost' (using password: NO)

我尝试设置root用户新密码:

use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit;

但只有mysql -u root -p命令工作。

所以,我无法安装phpMyAdmin。

显示如下错误:

An error occurred while installing the database:                           
  │                                                                            
  │ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using       
  │ password: NO)

1 个答案:

答案 0 :(得分:0)

-p选项是“使用密码”选项。默认情况下,除非提供-p选项,否则mysql不会要求输入密码。如果省略此选项,它将尝试在没有密码的情况下登录,这是不可能的。

所以你想要做的是:

  1. 执行命令mysql -u root -p
  2. 输入密码
  3. ???
  4. 利润
  5. 在安装的配置文件中(config.php通常有这个),它通常是:

    DATABASE_NAME=["DB_NAME"]
    
    DATABASE_USER=["root"] (Can be any username)
    
    DATABASE_PASSWORD=["PASSWORD"] (Password of user above)
    

    因此,安装程序或配置将执行mysql -u root -p "PASSWORD",然后当脚本进入mysql控制台时,它将使用您提供的名称创建数据库。

    欢迎提供有关您的问题的更多详情,因为我对您的要求感到有点困惑。

    如果您想了解mysql选项,请执行命令man mysqlvisit this website for all options