【mysql技巧】linux安装mysql后重置密码 ,快速解决 ERROR 1045 (28000)

一般情况下linux下mysql安装完成后会自动生成一个密码,我们可以使用cat命令在/var/log/msqld.log下查看,但是,有一次却发现这个密码神奇的不可用,所以我们得想个办法来跳过验证了:

0.环境说明:

①mysql 5.7.25

②centos 7.4

③拥有root权限,忘记mysql root密码或者无法登陆的情况

1.跳过mysql密码验证:

whereis my

 

找到my目录后编辑my.cnf 在[mysqld]后面任意一行添加“skip-grant-tables”

vi /etc/my.cnf
skip-grant-tables 

2.重启mysql

service mysqld restart
mysql

现在mysql可以直接登录了

3.修改mysql密码:

UPDATE mysql.user SET authentication_string = PASSWORD('Root123A'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost';
flush privileges;
quit;

这样就将mysql root用户的默认密码修改成了Root123A

如果是5.7以前的用户可以尝试使用:

update msyql.user set password=password("Root123A") where user="root";
flush privileges;
quit;

4.然后编辑my.cnf 在[mysqld]去掉刚刚添加的“skip-grant-tables”,重启mysql

sevice mysqld restart