mysql8.0环境修改连接密码

目录

    • 1.找到mysql配置文件
    • 2.开启skip-grant-tables配置
    • 3.设置空密码
    • 3.关闭skip-grant-tables配置,重启mysql
    • 4.设置密码,并再次重启
    • 5.登录验证

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

mysql8.0环境修改连接密码_第1张图片

mysql8.0环境修改连接密码_第2张图片

编辑完成后,重启mysql

systemctl restart mysqld

3.设置空密码

重启完成后,登录mysql

mysql -u root -p

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

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

执行完成之后刷新权限

FLUSH PRIVILEGES;

退出MySQL命令行模式

quit

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

此时,我们再编辑下配置文件,将刚才的配置注释
mysql8.0环境修改连接密码_第4张图片
保存并退出

: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

验证登录成功~
mysql8.0环境修改连接密码_第5张图片

你可能感兴趣的:(mysql,Linux,mysql,linux,java)