安装mysql后,一般来说默认root用户的密码是空的,但是由于某种原因导致密码并不为空,导致登录报错
解决办法:
登陆服务器,找到my.cnf文件,通常会在 /etc目录下(如果不在,可以用find / -name my.cnf命令查找),然后使在[mysqld]下面加上 skip-grant-tables ,
这样登陆时就会跳过登陆认证,也就是root不管输入什么密码都可以登陆进去,保存重启mysql(service mysqld restart)。
登陆进去后,
用use mysql进入mysql,
然后select user,host,password from user where user='root' ,这时你会发现password列值并不为空,所以你要修改password成你自己的密码,用update user set password=password('newpassword') where user='root' 命令(注:mysql5.7及之后版本则要把password都改成authentication_string执行,可以desc user查看下字段);
修改之后,退出mysql登陆,再去刚才的my.cnf文件把添加上去的skip-grant-tables注释掉,保存退出后重启mysql
输入正确密码,你就发现你的mysql可以正常使用啦。