无法通过php脚本连接到mysql,但可以在UBUNTU中登录到phpmyadmin

无法通过php脚本连接到mysql,但可以在UBUNTU中登录到phpmyadmin,php,mysql,ubuntu,lampp,Php,Mysql,Ubuntu,Lampp,我正在尝试在ubuntu中使用PHP连接mysql。我可以登录到phpmyadmin,但无法使用php代码进行连接。代码在XAMPP中运行良好 我正在使用以下代码 $con=mysql_connect("127.0.0.1","myusername","mypassword"); if (!$con) { die('Could not connect: ' . mysql_error()); } 但它显示了以下错误 Could not

我正在尝试在ubuntu中使用PHP连接mysql。我可以登录到phpmyadmin,但无法使用php代码进行连接。代码在XAMPP中运行良好

我正在使用以下代码

 $con=mysql_connect("127.0.0.1","myusername","mypassword");
        if (!$con)
    {
      die('Could not connect: ' . mysql_error());
    }       
但它显示了以下错误

Could not connect: Access denied for user 'root'@'localhost' (using password: YES)
根据问题的不同,我知道有3种可能的解决方案

  • ubuntu中有一个防火墙,您需要打开它,您可以通过在IPtables中授予访问权限来实现这一点

    /sbin/iptables-A输入-i eth0-p tcp-目标端口3306-j接受 现在,我们应该能够从本地计算机登录到服务器:

    mysql-h255.112.324.12-uroot-pMyPASSWORD

  • 您需要授予对mysql的访问权限:

    作为root用户,使用您最喜欢的编辑器打开/etc/mysql/my.cnf 查找[mysqld]部分,并在其中查找bind address关键字。这通常设置为127.0.0.1——将其更改为与“正常”IP地址匹配 保存文件并重新加载服务(例如,使用服务mysql重新启动)

  • 最后但并非最不重要的一点是,您需要在mysql中提供远程访问:

    将mydb.*上的所有权限授予由“MyPASSWORD”标识的根@“%”


  • Source:+许多不眠之夜。

    拒绝用户'root'@'localhost'的访问(使用密码:是)
    表示密码不正确。感谢您的重播,但请注意密码是正确的,我可以使用相同的凭据登录到phpmyadmin。可能是您的phpmyadmin正在连接其他地方。。但是,同样,此消息只告诉您没有根目录,或者密码不正确。在这里,我建议您至少考虑将MySQL函数改为MySQL或PdoyMySQL。mysql_*函数已被弃用。顺便问一下,您是否使用了
    myusername
    root帐户?