如何将我的 MySQL 根密码改回空?

And*_*rew 56 mysql password

当我在本地工作时,我真的不需要输入密码来访问我的数据库。我在第一次安装 MySQL 时更改了我的 root 密码,但我不知道如何将密码改回来。我该怎么办?

And*_*rew 56

要将 root 密码更改为newpassword

 mysqladmin -u root -p'oldpassword' password 'newpassword'
Run Code Online (Sandbox Code Playgroud)

要更改它以便 root 不需要密码:

 mysqladmin -u root -p'oldpassword' password ''
Run Code Online (Sandbox Code Playgroud)

注意:我认为-p和之间没有空格很重要,'oldpassword'但我可能错了

  • 我不断收到错误:访问被拒绝 'root'@localhost 。我该如何解决这个问题? (3认同)

wom*_*ble 19

与其删除密码(如果您碰巧将该服务器暴露给荒野,将来可能会产生令人不快的后果),而是将当前密码(和您的用户名)放入~/.my.cnf(或可能是 Windows 中的某个等效位置),如下所示:

[client]
user = root
password = s3kr1t
Run Code Online (Sandbox Code Playgroud)

这使 MySQL 能够使用提供的凭据自动登录,而不会让您在将来感到不愉快。


小智 9

  1. 停止 mysqld 并使用--skip-grant-tables选项重新启动它。
  2. 仅使用mysql连接到它。
  3. 更改root密码:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';

FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

供参考:官方mysql文档


Ben*_*rel 6

请注意,从 MySQL 5.7 开始,validate_password插件默认处于活动状态,并防止您使用空密码。

您需要禁用此插件以允许空密码:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');
Run Code Online (Sandbox Code Playgroud)

请注意,除非您不关心安全性,否则您应该遵循@womble 的建议并使用密码和.my.cnf文件以方便使用。

查看我关于此主题的文章删除 MySQL 根密码