最近在安装MySQL后在命令行登录报错:ERROR 1045 (28000): Unknown error 1045

在contos 7.5 通过yum或者是 giz 安装mysql ,安装完成后通过/etc/my.cnf配置文件找到MySQL的错误日志存在/var/log/mysql.log里,在该日志里查找到mysql的root用户的临时登录密码

[root@ip-172-31-34-225 log]# cat /var/log/mysqld.log | grep 'temporary password'
2019-02-13T10:32:25.917190Z 1 [Note] A temporary password is generated for root@localhost: #OHzhEURa

用临时密码通过命令行登录报错:ERROR 1045 (28000): Unknown error 1045

原因是密码错误,参考链接https://blog.csdn.net/nicolelili1/article/details/78833667(为什么初始的临时密码是错误的?这个还没弄明白)

解决方法是编辑 my.cnf

vim /etc/my.cnf

在mysqld 的下一行 ,添加下面的代码,暂时跳过授权表实现免密登录

skip-grant-tasbles

然后重启 mysql

systemctl restart mysqld

在命令行输入mysql回车即可登录,登录后设置新的root密码,下次通过新的密码即可登录

mysql
 update user set authentication_string = password('XXXXXX') where user = 'root';

 Query OK, 1 row affected, 1 warning (0.00 sec)

刷新规则

flush privileges;

Query OK, 0 rows affected (0.00 sec)

重新编辑 my.cnf ,把原来的 跳过免登录,给注释掉

vim /etc/my.cnf

#skip-grant-tables  #将该行注释然后重启mysql.

重启mysql

systemctl restart mysqld

这次,你可以使用 mysql -u -p 然后输入密码登录了