mysql 登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO);

原因是因为数据库被黑了,root 用户被删了,

 想要登录进去就按照我的步骤走;

第一,停止MySQL服务:(如果service mysql stop执行不成功)

第二,/etc/mysql/下,打开my.cnf文件,向其中加入skip-name-resolve   和 skip-grant-tables,并保存;

第三, 启动MySQL服务:server mysql start;

第四,输入mysql -u root -p,进入mysql命令行界面;

 第五,使用use mysql,进入对应的mysql数据库中

第六,有root 的修改密码就使用修改密码命令,没有的就创建root 命令(update MySQL.user set authentication_string=password('12345678') where user='root' ;

skip-name-resolve    禁止MySQL Server 对外部链接进行DNS解析,可以消除MySQL进行DNS解析的时间。但是如果开启了该选项,那么所有的远程主机连接授权都要使用IP地址,否则MySQL无法正常处理连接请求。

skip-grant-tables 系统对任何用户的访问都不做任何的访问控制,即在忘记密码的情况下,可以直接登录数据库

更改密码成功后,可以把这两项去掉的!

不然就会被黑了----------

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐