1.管理员权限打开cmd
2.关闭mysql服务,命令行输入:net stop mysql;
3.mysql8.0以下,命令行输入:mysqld –skip-grant-tables
mysql8.0, 命令行输入:mysqld --console --skip-grant-tables --shared-memory
4.另外开一个cmd,输入登录命令:mysql -u root -p,直接无密登录。
5.密码置为空,命令如下:
use mysql;
update user set authentication_string='' where user='root';
6.关闭以上的cmd,重新管理员打开cmd,输入:net start mysql 启动MySQL服务。
7.密码已经置空,无密码状态登录MySQL,登录命令:mysql -u root -p
9.ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
10.修改完成
特殊情况:
1.【出错】“Unknown column 'password' in 'field list'”
原因:新版本mysql采用authentication_string替代了password字段
2.【出错】net start mysql失败,mysqld --console,日志中出现“The innodb_system data file 'ibdata1' must be writable。”
mysql/data 下 ib_logfile0 ib_logfile0两个文件删除(先把mysqld.exe)进程关闭,重启就好了