我正在尝试在 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 种(据我所知)可能的解决方案。
您需要打开 ubuntu 中的防火墙,您可以通过在 IPtables 中授予访问权限来打开该防火墙。
/sbin/iptables -A 输入 -i eth0 -p tcp --目标端口 3306 -j 接受 现在我们应该能够从本地计算机登录到我们的服务器:
mysql -h255.112.324.12 -uroot -pMyPASSWORD
您需要授予对 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)
最后但并非最不重要的一点是,您需要在 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/