mysql5.7及以后版本设置密码

小鱼圆又圆 / 2024-10-15 / 原文

mysql5.7及以后版本设置密码

开启skip-grant-tables配置

由于安装时没有指定密码,需要配置/etc/my.cnf(或者/etc/mysql/my.cnf等已存在的配置文件)
在[mysqld]下一行加上skip-grant-tables,表示无密码登入
vim /etc/my.cnf
输入“:wq”保存退出

完成后重启mysql
systemctl restart mysqld
重启后,重新登录mysql
mysql -u root -p
提示要输入密码,直接回车就能成功连上了

设置密码为空

用命令将密码设置为空

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

执行完成后,刷新权限

flush privilege;

退出mysql

quit

关闭skip-grant-tables配置

用vim打开刚才的my.cnf文件,将刚才加上的内容注释掉(前面加“#”)
输入“:wq”保存退出
重启mysql
systemctl start mysqld

设置密码,并再次登录

mysql -u root -p

ALTER USER 'root'@'%' IDENTIFIED BY '密码';
flush privilege
quit

重启mysql服务
systemctl start mysqld

重新登录,输入密码并回车
mysql -u root -p

参考博文:
https://blog.csdn.net/weixin_43660088/article/details/131605212