1.找到mysql配置文件

系统目录
WindowsC:\ProgramData\MySQL\MySQL Server X.X\my.ini 或者 C:\Program Files\MySQL\MySQL Server X.X\my.ini
macOS(Homebrew 安装)/usr/local/etc/my.cnf
macOS(官方安装)/etc/my.cnf 或者 /etc/mysql/my.cnf
Linux(Debian/Ubuntu)/etc/mysql/my.cnf
Linux(CentOS/RHEL)/etc/my.cnf 或者 /etc/mysql/my.cnf

2.开启skip-grant-tables配置

先通过无密码方式登入 配置文件中[mysqld]下一行加上skip-grant-tables,表示无密码登入

vi /etc/mysql/my.cnf

在这里插入图片描述

在这里插入图片描述

编辑完成后,重启mysql

systemctl restart mysqld

3.设置空密码

重启完成后,登录mysql

mysql -u root -p

输入完成后会提示让我们输入密码,这里直接回车,可以看到成功连接上来了
在这里插入图片描述
接下来这一步很关键,因为mysql自从5.7以后就更改了user的表结构,并更改了密码的加密方式,所以我们只能先执行sql设置密码为空,然后再用命令设置密码

update user set  authentication_string = '',host = '%' where user = 'root';

执行完成之后刷新权限

FLUSH PRIVILEGES;

退出MySQL命令行模式

quit

3.关闭skip-grant-tables配置,重启mysql

此时,我们再编辑下配置文件,将刚才的配置注释
在这里插入图片描述
保存并退出

:wq

重启mysql

systemctl start mysqld

4.设置密码,并再次重启

完成之后,再次登录mysql

mysql -u root -p

同样,这里因为设置了密码为空,所以可以直接回车登录
登陆上去以后,重新设置密码,密码根据自己需求更改

ALTER USER 'root'@'%' IDENTIFIED BY '密码';

完成之后,刷新权限

FLUSH PRIVILEGES;

退出MySQL命令行模式

quit

重启mysql服务

systemctl start mysqld

5.登录验证

登录并输入密码,回车

mysql -u root -p

验证登录成功~
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐