今天发现WordPress连接不上数据库,登录窗口服务器服务器查看,所有服务均运行正常。
使用根账号登录mysql数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到SQL注入攻击了……
至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。这里我主要讲一下mysql用户密码的重置步骤。
重置根密码
在忘记根密码的情况下,可以进入mysql的安全模式,重置根密码。
1。停止MySQL服务
打开命令提示符窗口,输入净停止mysql关闭mysql服务。
C:\Users\ Administrator>净mysql57停止 MySQL57服务正在停止…… MySQL57服务已成功停止。
↑服务名称不一定都是mysql,比如我的就是mysql57, 57代表版本号为5.7
当然你也可以通过计算机管理面板关闭MySQL服务。
2。切换到本目录
在命令提示符窗口中,通过cd命令切换到mysql安装目录下的本目录。
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服务器
3。进入安全模式
在本目录下输入<代码> mysqld——skip-grant-tables> 代码,跳过权限检查启动mysql。
如果你配置了我。ini文件,则需要将其引入:<代码> mysqld——defaults-file=" . ./我。ini”——skip-grant-tables 代码>
(mysqld) MySQL basedir=" C: \ ProgramData \ \ MySQL服务器5.7” MySQL datadir=" C: \ ProgramData \ 5.7 \ \ MySQL服务器数据”
↑我在我。ini文件中指定了数据的存放路径,如果不引入配置文件,则会提示没有这样的文件或目录错误。
4。重置账户密码
打开另一个命令提示符窗口(别关闭安全模式窗口),同样切换到mysql \ bin目录,输入mysql跳过权限验证连接数据库。
C:\Program Files\MySQL\MySQL Server 5.7 \ bin> mysql 服务器版本:5.7.16 MySQL社区服务器(GPL) 版权(c) 2000、2016、Oracle和/或其附属公司。保留所有权利。 类型的帮助,“或“\ h”寻求帮助。类型“\ c”明确当前输入语句。 mysql>
↑也可以指定连接参数mysql - u & lt;用户名比;- p & lt;密码比;- h & lt;连接地址在- p & lt;端口号比;- d & lt;数据库在
执行更新mysql。用户设置authentication_string=薄坝没?案?重置根用户的密码(5.7之前为密码字段)。
mysql>更新mysql。用户设置authentication_string=薄坝没?案? 查询好了,1行影响(0.00秒) mysql>选择用户,从mysql.user authentication_string \ G * * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行 *************************** 用户:根 authentication_string: * * * * * * * * * * * * * * * * * * * * * * * * * * * 2。行 *************************** 用户:mysql.sys authentication_string: * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE 2行集(0.00秒)
↑根用户的authentication_string字段已经被清空了
5。刷新权限表
执行冲特权;命令刷新权限表,密码已经重置完成,输入离职退出。
mysql>冲洗特权; 查询好,0行影响(0.02秒) mysql>辞职 再见
关闭所有命令提示符窗口,通过任务管理器结束mysqld。exe进程。重启MySQL服务,之后就可以直接登录根账号了。
修改根密码
出于安全考虑,根密码不宜为空,所以需要在密码重置之后,再重新设置一个密码。
方法一:设置密码
<代码>为“用户名”=密码设置密码(“新密码”);代码>
以根身份登录mysql,再使用设置密码命令修改密码:
mysql>设置密码root@localhost=密码(“pswd”); 查询好,0行影响,1警告(0.00秒)
方法二:mysqladmin
<代码> mysqladmin - u“用户名”- p密码“新密码”代码>