可能重复:
PHP - connecting to mysql database from different server
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'
答案 0 :(得分:2)
也许您的主机必须设置为localhost,您可以在主机的网络面板中查看。
答案 1 :(得分: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'@'%';
将“密码”更改为其他内容,并仅添加您希望用户能够执行的权限。给予任何主机太多的权力都会增加安全风险。
答案 2 :(得分:0)
仔细检查您的主机,在大多数情况下,网站和数据库位于同一台计算机上,尝试使用localhost或向主机提供商询问数据库连接信息。