关于远程连接数据库报ERROR 1045错误

远程连接数据库失败问题

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

今天在虚拟机CentOS系统上,想要在主节点启动主服务器的时候使用mysql -uroot -p命令输入正确的密码还是报1045错误,很是纳闷,但是经过不断的寻找答案,最终问题还是得到了解决(解决方案是修改mysql密码)。
下面是本人已经解决方案的过程。
0.先启动mysql service start mysqld
1.进入你的mysql安装目录cd /usr/bin/
(如果不知道在哪 可以使用which mysql找到其安装目录)
关于远程连接数据库报ERROR 1045错误
2.下面就是标题的报错信息了
关于远程连接数据库报ERROR 1045错误
3.使用vi /etc/my.cnf命令
在[mysqld]下方写入skip-grant-tables
输入wq保存
(意思就是不需要输入密码就可以进入mysql命令行)
关于远程连接数据库报ERROR 1045错误
4.修改完之后重启mysql服务:systemctl restart mysqld
5.直接输入mysql,即可进入mysql命令行
关于远程连接数据库报ERROR 1045错误
6.在修改密码之前先选择数据库,我这里是mysql数据库,如下关于远程连接数据库报ERROR 1045错误
不然可能会报:ERROR 1046 (3D000): No database selected的错误

7.如果你是mysql5.7之前的版本请使用
update user set password=password(“990413”) where user=“root”;
如果是5.7及以后的请使用
update mysql.user set authentication_string=password(‘990413’) where user=‘root’ ;
因为我的是5.7版本,使用第一个命令的时候报错
关于远程连接数据库报ERROR 1045错误
使用第二个命令之后,成功
关于远程连接数据库报ERROR 1045错误
8.接下来输入
flush privileges;
quit
关于远程连接数据库报ERROR 1045错误
9.到这基本就结束了,但是别忘了把第三步骤的skip-grant-tables删掉!删掉!删掉!之后wq保存
10.重启mysql服务
systemctl restart mysqld
11.使用新密码进入命令行,成功进入,舒服了
mysql -uroot -p990413
关于远程连接数据库报ERROR 1045错误
12.在Navicat远程连接数据库也可以了
关于远程连接数据库报ERROR 1045错误

以上就是这个错误的解决方案(之一吧),如有问题欢迎在评论区提出!