代码之家  ›  专栏  ›  技术社区  ›  SidC

无法连接到IPAddress(10061)上的MySQL服务器

  •  5
  • SidC  · 技术社区  · 14 年前

    我需要连接到一个远程MySQL数据库,并创建了以下连接代码:

    <?php
    /* Set Variables */
    $host="myipaddress";
    $db="mydbname"; 
    $username="dbuser";
    $pass="mypass";
    
    /* Attempt to connect */
    $mysqli=new mysqli($host,$username,$pass,$db);
    if (mysqli_connect_error()){
    die('Connect Error (' . mysqli_connect_errno() . ') '
    . mysqli_connect_error());
    echo 'Success... ' . $mysqli->host_info . "\n";
    
    $mysqli->close();
    
    }
    ?>
    

    Connect Error (2003) Can't connect to MySQL server on 'myipaddress' (10061)
    

    我的PHP有点生疏,有人能找出我的代码哪里出了问题吗?请注意,dbuser对设置为变量的数据库名称具有select、insert和update权限。

    谢谢, 锡德

    编辑 我修改了我的.cnf重新启动mysql。我现在收到拒绝访问用户“dbuser”@“mycurrenthostname”(使用密码“是”)。当我从命令行使用mysql-u dbuser-p时,我可以登录。我将insert、update和select授予了主机为“%”的dbuser,以便dbuser可以从任何地方进行连接。

    我已经阅读了MySQL参考指南中关于这个错误的内容,但是仍然被卡住了。我的代码有问题吗我的.cnf已经修好了?

    2 回复  |  直到 14 年前
        1
  •  14
  •   Mike    14 年前

    检查防火墙是否允许通过端口3306进行连接。

    bind-address 在里面 my.cnf 以确保它允许远程连接。

    这里有一些信息和故障排除提示:

    http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html

        2
  •  4
  •   amal    14 年前

    我不熟悉php,但问题可能不在代码中。

        3
  •  4
  •   shashikant kuswaha    5 年前

    只需更改mysql文件的绑定地址我的.cnf位于 /etc/mysql/my.cnf bind-address = 0.0.0.0

    这将允许远程访问所有IP 在AWS ec2上它正在工作。