• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL 5.7 重置root密码,试过N中步骤终于找到_mysql

mysql 搞代码 7年前 (2018-06-09) 191次浏览 已收录 0个评论

mysql 5.7 重置root密码,试过N中方法终于找到
操作系统是windows,MySQL版本是 5.7,my.ini在另外的路径下。

已经用了一段时间,也设置了好几个用户,因为要最近想修改root密码,所以用网上的:

mysqladmin -uroot -pmy_old_pwd password my_new_pwd

来修改密码,重启服务后,发现没有修改成功。又试了几次,包括直接update mysql.user,都不成功,结果后来再试时,出现如下出错信息:

mysqladmin: connect to server at ‘localhost’ failed.

于是找到MySQL 5.7的官方文档:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

按照如下步骤:

1. 修改 my.ini,在 [mysqld]下增加一行:

skip-grant-tables

2. 重启 mysql

3. 在mysql/bin目录下,执行mysql -uroot,连接上mysql

4. 参考上面官方首次,
  
   5.7.6之后版本用如下命令:
   ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;
   运行后出如下信息,说明没成功
   Query OK, 0 rows affected (0.00 sec)

   于是在用5.7.5之前版本的命令:
   SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPass’);
   运行后出如下信息,说明也没成功
   Query OK, 0 rows affected (0.00 sec)

5. 再用如下命令测试:
    UPDATE mysql.user SET authentication_string = PASSWORD(‘MyNewPass’) password_expired = ‘N’
    WHERE User = ‘root’ AND Host = ‘localhost’;
    运行后也是: Query OK, 0 rows affected
    所以下面的也就不用执行了
    FLUSH PRIVILEGES;

6. 接着用如下命令,放宽where条件
   update mysql.user set authentication_string=PASSWORD(‘newpassword’) where User=’root’;
   执行后提示:Query OK, 1 row affected…说明有戏

7. 将my.ini 修改回来,重启mysql,做测试:root用户新密码可用了,旧密码不再可用。其他用户没有受到影响。

欢迎大家阅读《MySQL 5.7 重置root密码,试过N中步骤终于找到_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL 5.7 重置root密码,试过N中步骤终于找到_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址