mysql5.7及以后版本设置密码
mysql5.7及以后版本设置密码
-----------------2025/6/6更新----------------------------------
运行mysqld --initialize xxx命令的时候会有一个密码回显,那个就是初始密码
输入:mysql -u root -p
然后输入密码登录
用下面这句直接改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password(新密码)';
---------------如果找不到密码了,可以参考后面的内容,但是现在测试skip-grant-tables这个参数没有起作用---------------------
开启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
提示要输入密码,直接回车就能成功连上了
选中mysql数据库
use mysql;
设置密码为空
用命令将密码设置为空
update user set authentication_string = '',host = '%' where user = 'root';
执行完成后,刷新权限
flush privilege;
退出mysql
quit
关闭skip-grant-tables配置
用vim打开刚才的my.cnf文件,将刚才加上的内容注释掉(前面加“#”)
输入“:wq”保存退出
重启mysql
systemctl restart mysqld
设置密码,并再次登录
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED BY '密码';
flush privilege
quit
重启mysql服务
systemctl restart mysqld
重新登录,输入密码并回车
mysql -u root -p
参考博文:
https://blog.csdn.net/weixin_43660088/article/details/131605212