主机'localhost'不允许连接到这个MySQL服务器(#1130)

时间:2013-02-26 11:06:37

标签: mysql

好的,我问这个问题,因为我试着寻找过去4个小时的答案 我甚至不知道我在服务器中做了什么,它不允许我从本地主机连接。但即使安装了与mysql安装相关的任何内容并仅重新安装服务器,它也不会让我连接。

当我在应用安全设置上安装服务器后尝试配置服务器时,它失败并给我错误。

我的服务器安装在普通PC上而不是任何网站上,PC运行win 7,我尝试了skip-grant-tables选项以及卸载服务器后删除注册表项。

如果有人有任何其他选择供我使用,或者如果您认为我在其他选项中做错了,请告诉我如何解决做正确的事情以及如何做到这一点。

3 个答案:

答案 0 :(得分:3)

在安装新版本的mysql5.5时我也遇到了同样的问题,但我解决了它。

如果你通过mysql安装的路径,在你的windows系统的windows中,“c:\ mysqlinstalllocation \ bin” 你可以从这个目录运行mysql查询, 但是如果你已经将mysql命令添加到windows中的path选项,在环境变量中,这将帮助你从命令行运行自定义命令,你可以直接从命令提示符中的任何目录运行它。

只需在mysql.ini文件的[mysqld]标题下添加“skip-grant-tables”命令,并确保在执行此操作后重新启动服务器,并运行mysql,它将起作用。此时您将在没有任何密码的情况下登录,因此建议此时删除密码,这样您就可以在取消注释skip-grant-tables“命令后轻松登录

在您从root用户删除密码后,请确保删除“skip-grant-tables”命令,或使用#将其注释掉,然后重新启动服务器。它会起作用。

现在您可以在没有任何密码的情况下登录,并运行grant命令,并设置您喜欢的任何密码。

答案 1 :(得分:1)

您可以解决以下问题:

  1. 打开 my.ini 文件
  2. [mysqld]
  3. 下添加 skip-grant-tables
  4. [mysqld]看起来像

    # The MySQL server
    [mysqld]
    skip-grant-tables
    port= 3306
    socket = "C:/xampp/mysql/mysql.sock"
    basedir = "C:/xampp/mysql" 
    tmpdir = "C:/xampp/tmp" 
    datadir = "C:/xampp/mysql/data"
    pid_file = "mysql.pid"
    

答案 2 :(得分:0)

您需要添加相关权限并使用skip-grant-tables选项绕过内置安全性。

GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED by 'password';

正常重启而没有skip-grant-tables标志。