0

我想问一下从 PHP 代码创建用户和数据库的问题。

我在服务器上有 cpanel。在我的应用程序中,我希望我的应用程序创建一个数据库来备份某些内容。但我总是收到错误“拒绝访问”

那么,如何创建数据库并将用户分配给该数据库,以便该用户可以访问它。

我现在的代码是:

<?php
$con = mysql_connect("localhost","k3516438_disp","secret");
mysql_query("GRANT ALL PRIVILEGES ON *.* TO  'k3516438_disp'@'localhost' IDENTIFIED BY PASSWORD 'secret' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE IF NOT EXISTS k3516438_dispatcher_backup",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}

mysql_select_db("universal_backup", $con);

$sql = "CREATE TABLE order_backup
(
order_id varchar(15),
request_id varchar(15)
)";

mysql_query($sql);
?>

它仍然无法正常工作,我编写的代码来自:问题。但这对我不起作用,我想。对不起,我的英语不好。

4

3 回答 3

1

听起来您的用户没有相关权限。

于 2013-01-26T03:37:32.533 回答
0

拥有用户所需的权限是不够的。当他从特定 IP 登录时,他也应该拥有特权。请检查用户“k3516438_disp”在从您的服务器IP访问时是否具有创建用户和数据库的权限。

可能是您的用户“k3516438_disp”没有从“localhost”访问的权限。MySQL 官方网站有更多关于“拒绝访问”错误的信息。见http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

于 2013-01-26T03:43:53.420 回答
0

最后我从本地(我的办公室)备份它,远程数据库。因为在本地,该特权没有问题。感谢大家回答这个问题。

于 2013-01-28T02:08:07.123 回答