0

可能重复:
PHP - 从不同的服务器连接到 mysql 数据库

global $host, $username, $password, $database; 
$host = "meshtelecom.com"; 
$username = "mesh_project"; 
$password = "password"; 
$database = "mesh_database"; 
$link = mysql_connect($host, $username, $password); 
if(!$link)echo "Connection failed."; 
$db = mysql_select_db($database)or die(mysql_error());  

我在meshtelecom.com 中使用phpmyadmin 创建了一个数据库。我无法从另一台服务器访问此数据库.. 它给了我:

Connection failed.Access denied for user ''@'localhost' to database 'mesh_database'
4

3 回答 3

2

也许您的主机必须设置为 localhost,您可以在主机的 Web 面板中进行检查。

于 2013-01-21T08:55:44.937 回答
1

您必须为用户创建一个新帐户才能从其他服务器访问主机。你目前有用户'mesh_project'@'localhost',但你还需要有'mesh_project'@'%'。或者如果你想限制哪些主机可以用来连接数据库,你可以使用主机名或IP来代替%。

这是一些文档http://dev.mysql.com/doc/refman/5.5/en//adding-users.html

如果您可以从命令行登录,请运行以下命令:

CREATE USER 'mesh_project'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON mesh_database.* TO 'mesh_project'@'%';

将“密码”更改为其他内容,并仅添加您希望用户能够执行的权限。提供过多的权力以使任何主机都无法访问会增加安全风险。

于 2013-01-21T08:59:14.837 回答
0

仔细检查您的主机,在大多数情况下,网站和数据库在同一台机器上尝试 localhost 或向您的主机提供商询问数据库连接信息。

于 2013-01-21T08:57:31.160 回答