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

标签 php mysql ubuntu lampp

我正在尝试在 ubuntu LAMP 中使用 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 种(据我所知)可能的解决方案。

  1. 您需要打开 ubuntu 中的防火墙,您可以通过在 IPtables 中授予访问权限来打开该防火墙。

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

    mysql -h255.112.324.12 -uroot -pMyPASSWORD

  2. 您需要授予对 mysql 的访问权限:https://askubuntu.com/questions/159053/mysql-server-not-accessible-from-remote-machine

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

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

    将 mydb.* 上的所有内容授予由“MyPASSWORD”标识的 root@'%';

来源:http://web.archive.org/web/20120930214828/http://chosencollective.com/technology/how-to-enable-remote-access-to-mysql + 许多个不眠之夜。

关于php - 无法通过php脚本连接到mysql,但可以在LAMP UBUNTU中登录phpmyadmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26249901/

相关文章:

php - 二进制数据的 readfile 等价物?

mysql - SQL - 获取从当前日期开始显示的数据

php - 仅在函数内部循环迭代一次

javascript - WHERE 子句中的多个列

python - "import babel.dates"让我的权限被拒绝

php - 如何在一个 MySQL 查询中获取另一个表中引用的数据

javascript - Ajax未加载url文件

php - PHP 上的 SEO 友好网址

linux - 更改 cgroup pid.max 值?

ruby-on-rails - 服务器上的当前时间与实际时间相差 7 分钟