这个问题其实说到底就是权限问题,但是一开始不清这个,导致绕了很大的一个圈子,现在终于弄清楚了;主要就涉及到一张表,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服务,这个时候一般通过命令关闭服务是关不了的,直接将进程杀掉后启动;