如何将我的mysql root密码更改为空?

当我在本地工作时,我并不需要input密码来访问我的数据库。 当我第一次安装mysql时,我改变了我的root密码,但是我不知道如何改回我的密码。 我该怎么办?

要将root密码更改为newpassword

  mysqladmin -u root -p'oldpassword' password 'newpassword' 

要改变它,所以root不需要密码:

  mysqladmin -u root -p'oldpassword' password '' 

注意:我认为重要的是在-p'oldpassword'之间没有空格,但我可能是错的

把当前的密码(和你的用户名)放到~/.my.cnf (或者大概是在Windows中的一些等同的位置),而不是去掉密码(如果你将这个服务器~/.my.cnf ,可能会有不愉快的后果) )看起来像这样:

 [client] user = root password = s3kr1t 

这使MySQL使用所提供的证书自动生成真棒的能力,而不会让你在将来不愉快的情况下开放。

  1. 停止mysqld并使用–skip-grant-tables选项重新启动它。
  2. 使用mysql连接到它。
  3. 更改root密码:

    UPDATE mysql.user SET Password = PASSWORD('MyNewPass')WHERE User ='root';

    FLUSH PRIVILEGES;

供参考: 官方的mysql文档 。

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

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

 UNINSTALL PLUGIN validate_password; SET PASSWORD FOR root@localhost = PASSWORD(''); 

要小心,除非你不关心安全性,为了方便起见,你应该遵循@ womble的build议并使用密码和.my.cnf文件。

检查我的文章删除这个主题的MySQL根密码 !