从PHP代码创建数据库和分配用户

时间:2013-01-26 03:22:21

标签: php mysql

我想问一下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);
?>

它仍然不起作用,我写的代码来自:problem。但我想,这对我不起作用。抱歉我的英语不好。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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