设为首页 收藏本站
查看: 1020|回复: 0

[经验分享] windows 下重置 mysql 的 root 密码

[复制链接]

尚未签到

发表于 2017-12-8 06:49:42 | 显示全部楼层 |阅读模式
  今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常。
  使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了……
  至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。这里我主要讲一下 mysql 用户密码的重置步骤。


重置 root 密码
  在忘记 root 密码的情况下,可以进入 mysql 的安全模式,重置 root 密码。

1. 停止 MySQL 服务
  打开命令提示符窗口,输入   net stop mysql   关闭 MySQL 服务。



C:\Users\Administrator>net stop mysql57
MySQL57 服务正在停止..
MySQL57 服务已成功停止。
  ↑ 服务名称不一定都是 mysql,比如我的就是 mysql57,57代表版本号为5.7
  当然你也可以通过计算机管理面板关闭 MySQL 服务。
DSC0000.png


2. 切换到 bin 目录
  在命令提示符窗口中,通过 cd 命令切换到 mysql 安装目录下的 bin 目录。



C:\Users\Administrator>

cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>
  ↑ 默认安装目录为 C:\Program Files\MySQL\MySQL Server

3. 进入安全模式
  在 bin 目录下输入   mysqld --skip-grant-tables   ,跳过权限检查启动 mysql。
  如果你配置了 my.ini 文件,则需要将其引入:   mysqld --defaults-file="../my.ini" --skip-grant-tables  



[mysqld]
basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"
  ↑ 我在 my.ini 文件中指定了数据的存放路径,如果不引入配置文件,则会提示 No such file or directory 错误。

4. 重置账户密码
  打开另一个命令提示符窗口(别关闭安全模式窗口),同样切换到 mysql \ bin 目录,输入   mysql   跳过权限验证连接数据库。



C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
  ↑ 也可以指定连接参数 mysql -u <用户名> -p <密码> -h <连接地址> -P <端口号> -D <数据库>
  执行   update mysql.user set authentication_string="" where user="root";   重置 root 用户的密码(5.7 之前为 password 字段)。



mysql> update mysql.user set authentication_string="" where user="root";
Query OK, 1 row affected (0.00 sec)
mysql> select user,authentication_string from mysql.user\G
*************************** 1. row ***************************
user: root
authentication_string:
*************************** 2. row ***************************
user: mysql.sys
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
2 rows in set (0.00 sec)
  ↑ root 用户的 authentication_string 字段已经被清空了

5. 刷新权限表
  执行   flush privileges;   命令刷新权限表,密码已经重置完成,输入   quit   退出。



mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye
  关闭所有命令提示符窗口,通过任务管理器结束 mysqld.exe 进程。重启 MySQL 服务,之后就可以直接登录 root 账号了。

修改 root 密码
  出于安全考虑,root 密码不宜为空,所以需要在密码重置之后,再重新设置一个密码。

方法一:SET PASSWORD


  • SET PASSWORD FOR "username"=PASSWORD("new password");
  以 root 身份登录 mysql,再使用 set password 命令修改密码:



mysql> set password for root@localhost = password("pswd");
Query OK, 0 rows affected, 1 warning (0.00 sec)
方法二:mysqladmin


  • mysqladmin -u "username" -p password "new password"
  执行该命名之后会提示输入原密码,输入正确后即可修改。



C:\Program Files\MySQL\MySQL Server 5.7\bin> mysqladmin -u root -p password pswd
Enter password: ****
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
方法三:UPDATE TABLE


  • UPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username";
  在重置 root 密码的同时,也可以设置默认密码。不过密码不能为明文,必须使用 password() 函数加密。



mysql> update mysql.user set authentication_string=password("pswd") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421989-1-1.html 上篇帖子: Spring Boot 入门(三)微服务之服务发现、Eureka Server 下篇帖子: Redis是可以安装成windows服务-开机自启
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表