mysql在刚安装完成或忘记密码的情况下修改root账户密码

首先打开/etc/my.cnf(默认安装情况下为此路径)

vim /etc/my.cnf

如果无法找到该文件,可以试着使用以下指令

find / -name my.cnf

在[mysqld]下方(注意一定是要在此文本段内 不能放在下一个[xxx]后) 单独添加一行skip-grant-tables,保存并退出

接下来重启mysqld服务
输入

service mysqld restart

此后输入mysql即可打开

mysql启动后首先输入flush privileges;
若是不执行此步 接下来修改密码的时候有可能会出现error1290的错误,提示你在跳过密码登录的设置下无法修改用户密码

然后正式开始修改密码
在mysql比较新的版本中
update user set password = password("newpassword") where user = "root";
可能会产生语法错误 原因在于新版本中password被改成了authentication_string
使用alter user ‘root’@‘localhost’ identified by 'yourpassword'或者update user set authentication_string=password("yourpasswd") where user="root"; 即可完成修改

也可使用以下语句

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
//或者ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123'; 
//依照select user,host from user; 看到的情况而定

最后,重新打开my.cnf文件,去掉之前的skip设置,再次重启mysqld服务即可完成

posted @ 2020-07-24 11:17  -拂石-  阅读(248)  评论(0)    收藏  举报