用户访问被拒绝' @' localhost'到数据库'数据库'

时间:2013-01-21 08:51:28

标签: php mysql

  

可能重复:
  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'

3 个答案:

答案 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或向主机提供商询问数据库连接信息。