如果可以远程登录,但无法本地登录,报错为1045.
可能出错原因和我一样,配置过远程连接,修改过user表中的host字段,而mysql默认user为localhost 不匹配于是报错。
解决办法:
1.启动mysql时跳过密码问题,打开my.cnf文件
vim/etc/my.cnf
在文件最后加入如下,Esc退回到普通模式,:wq保存退出
skip-grant-tables
此时可以进入mysql -uroot -p 直接回车不用输入密码
而后
use database
分别执行下面三个操作,执行完后quit退出,注意重启mysql,就可以正常登陆了
select user,host from user where name='root';
update user set host='localhost' where user='root'and host='%;
flush privileges;