背景:安装了新的wampserver之后,php版本mysql8.0.31,想打开phpadmin可视化管理页面,后来忘记密码了,报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: No),只能修改密码了。
PS:输入相关的mysqld命令提示:不是内部命令,需要去环境配置里头配置mysql信息。找到此电脑—》属性—》高级系统设置—》环境变量—》系统变量—》双击path—》点击新建—》输入mysql下面bin文件夹的地址。
第一步:停止mysql服务。
以管理员权限运行命令行
C:\Windows\System32>net stop mysql;
思路:
1、MySQL服务端口被占用。
2、系统中没有注册MySQL到服务中,即当前路径下没有mysql服务。
这时候看下有没有安装mysqld,直接输入mysqld -install,提示The service already exists!说明已经安装了,如果没安装就会提示Service successfully installed.(安装成功),排除第二种可能性。
输入netstat -ano,则跳出下图所示,找对对应3306的端口
继续输入tasklist|findstr 端口号对应的PID号,由于上图可知我的pid号为13988, 关闭他!输入 taskkill /pid 1564 /f 13988是PID号。
然后net start mysql开启看看能不能开启成功。成功之后停止mysql服务net stop mysql。
第二步:配置E:\wampserver\bin\mysql\mysql8.0.31下面的my.ini文件,找到[mysqld],在它屁股后边加上skip-grant-tables,以管理员权限运行命令行mysqld --console --skip-grant-tables --shared-memory。
第三步:另外打开一个cmd窗口,输入mysql回车。
之后就是修改密码了,接下来执行update user set authentication_string ='' where user = 'root';清空密码,再flush privileges 使改变生效。exit;退出mysql. 重新登录MySQL, 使用ALTER user 'root'@'localhost' IDENTIFIED BY '123'; 将密码设为123. 就OK了。