问题描述

我是新来的 mysql,我试图运行 Wordpress inmy Windows 桌面,它需要 Mysql 。

我用微软提供的 Web Platform Installer 安装所有内容。我从来没有为 mysql 设置 root 密码,在最后一步安装 wordpressit askfor root 密码的 mysql 。

root 的默认密码是什么 (如果有的话) 以及如何更改?

我试试

mysql -u root password '123'

但它显示我

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

之后我试过

mysql -u root -p

但它要求一个我没有的密码

先谢谢你


更新:Bozho 说我做了如下的工作

 1 - I stoped MySql Service from Windows services
 2 - Open CMD
 3 - change location to cd c:program filesmysqlbin
 4 - write this command

 mysqld --defaults-file="C:\program files\mysql\mysql server 5.1\my.ini" --init-files=C:\root.txt

 5 - Command run with a warning about characterset which I mentioned below
 6 - I start MySql Service from windows services
 7 - in command line I write

mysql -u root -p
EnterPassword: 123  // 123 was the password

8 - the commandline shows following bug

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

我在等待你的回音

最佳解决方案

你可以 reset your root password 。请记住,不要使用 root,没有密码。

次佳解决方案

对于这种错误; 您只需要为 root 用户设置新密码作为管理员。请按照以下步骤操作:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. 停止运行 mysql 的服务/守护进程

    [root ~]# service mysql stop
    mysql stop/waiting
    
  2. 启动 mysql 没有任何权限使用以下选项; 此选项用于启动,不使用 MySQL 的权限系统。

    [root ~]# mysqld_safe --skip-grant-tables &
    

在这一刻,终端似乎停了下来。让它成为,并使用新的终端进行下一步。

  1. 输入 mysql 命令提示符

    [root ~]# mysql -u root
    mysql>
    
  2. 修复 root 用户的权限设置;

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    

*如果你不想要任何密码,或者是一个空的密码

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

确认结果:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. 退出 shell 并在正常模式下重启 mysql 。

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. 现在,您可以使用您设置的密码成功登录为 root 用户

     [root ~]# mysql -u root -pYourNewPassword
     mysql>
    

第三种解决方案

1) 您可以通过调用 MySQL 控制台来设置 root 密码。它位于

C:wampbinmysqlmysql5.1.53bin 默认。

访问目录并键入 MySQL 。然后设置密码如下。

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) 您可以通过编辑为 root 用户配置 wamp 的 phpmyadmin 应用程序

C:wampappsphpmyadmin3.3.9config.inc.php

看起来像这样:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

当您将 $cfg['Servers'][$i]['AllowNoPassword']设置为 false 时,「用户’root@localhost’ 访问被拒绝 (使用密码:NO)」 的错误将被解决)

注意:phpmyadmin 是一个单独的工具,带有 wamp 。它只提供一个到 MySQL 的接口。如果您更改了我的 sql root 密码,那么您应该更改 phpmyadmin 配置。通常 phpmyadmin 配置为 root 用户。

第四种方案

我在 OS X El 队长遇到了同样的错误。 Mysql 版本 5.7 。执行这些步骤后,我可以用 root 连接到 mysql 。

停止 mysql 服务器

sudo mysql.server stop

以安全模式启动 mysql

sudo mysqld_safe --skip-grant-tables

使用 mysqld,将数据库更改为 mysql 并更新用户’root’ 的详细信息。

show databases;
use mysql;
UPDATE mysql.user
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

之后杀死’mysqld_safe’ 进程并正常启动 mysql 。您应该可以使用 root 和新密码登录到 mysql 。 SQL docs for more details

第五种方案

确保 MySQL 服务正在您的计算机上运行,​​然后按照 MySQL 的说明进行初始设置 root(搜索’windows’,并将带您到设置 root 的步骤):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。