由于自己本地的mysql很久没用了,忘记了root密码。今天重置了下,所以写一个博客记录一下。
1.用管理员身份运行cmd
2.关掉mysql服务:
可以用命令行停掉mysql: net stop mysql
也可以通过服务:右键电脑左下角win图标,点击计算机管理——服务和应用程序——服务——找到mysql,关掉服务
3.加参数去掉权限
在mysql路径下的bin/my.ini中的[mysqld]下方:
加上这一行,让mysql不使用密码直接登录
skip-grant-tables
或者在命令行里敲出:mysqld --skip-grant-tables(mysql 5版本)
但该命令在mysql8.0中已失效,后面版本应使用mysqld --console --skip-grant-tables --shared-memory
4.改密码
再用管理员身份另外开一个cmd,mysql -uroot,然后pwd直接回车,进行无密码登陆。
登录后修改密码:
首先use mysql;进入mysql database,再show tables,此时看到user表。再查看一下我们root的host
select host,user,password from user;
之后便可以进行修改了(修改密码的mysql语句5和8版本也是不一样的),我下面的示例的Mysql8.0版本的亲测有效
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
如果上面的host为%,则使用下面代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
改完之后记得:FLUSH PRIVILEGES;
5 之后就可以重启Mysql服务,并将bin/my.ini中之前加上的参数删掉