mysql8.0环境修改连接密码
·
1.找到mysql配置文件
| 系统 | 目录 |
|---|---|
| Windows | C:\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
验证登录成功~

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


所有评论(0)