`
wangwei3
  • 浏览: 118101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

"Host 'localhost' is not allowed to connect to this MySQL server" 的原因及解决办法

    博客分类:
  • sql
 
阅读更多
今天在操作数据库的是否发现突然无法启动MYSQL服务,想了想原因是因为自己改动了my.ini文件导致的。所以大家千万不要随便改哦~
解决无法启动mysql的问题很容易,在安装根目录下都会有my.ini文件的备份。我们可以根据以前的_bak文件直接恢复。

还有一个问题就是 "Host 'localhost' is not allowed to connect to this MySQL server"

重装MYSQL后,发现MYSQL数据库密码为空,则update了 user表里的root密码,重新连接,发现出现"Host 'localhost' is not allowed to connect to this MySQL server" ,真是离奇的事情一件接一见

后来回想了一下发现,因为只是update了root,但是MYSQL是有个访问控制表,root的访问控制表未更新,就导致了无法访问mysql

网上找到的解决方法,应该是跳过该表就可以直接使用了,但是这个放在服务器上还是会有一定的风险,那就是任何人在任何地方都可以访问你的MYSQL,如果安全重要的话还是重新装一下数据库好了。


编辑 my.ini linux下为/etc/my.cnf


在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-name-resolve

skip-grant-tables

目的是为了:

跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。

需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效

重启mysql服务!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics