今天部署阿里云服务器, 发现之前可以连接的mysql服务器突然连接不上了, 密码我确认是正确的,但登录时就是显示密码错误, 很崩溃, 差点气得我就想重装mysql了。
好在经过几番苦寻找到了以下能解决我问题的资料, 成功解决了我的问题, 万分感谢, 便借鉴过来,保存备忘!
原文地址: https://blog.csdn.net/qq_33142257/article/details/71375029
这个问题其实说到底就是权限问题,但是一开始不清这个,导致绕了很大的一个圈子,现在终于弄清楚了;主要就涉及到一张表,mysql库中的user表;提供两种解决办法
方法一、直接用客户端连接,到mysql的user表中将其中一条user为root的记录的host改成localhost,然后保存就好了;到shell找那个重启mysql,然后再次通过shell登录的时候需要输入密码;
如图:
方法二:
先关闭mysql服务:
然后通过安全模式在后台启动mysql 命令./mysqld_safe --skip-grant-tables & ,然后进入mysql,到mysql库 :
执行插入语句:
sql语句:
INSERT INTO `user`
VALUES
(
'localhost',
'root',
password('123456'),
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'',
'',
'',
'',
'0',
'0',
'0',
'0'
);
最后重启mysql服务,这个时候一般通过命令关闭服务是关不了的,直接将进程杀掉后启动;