我想问一下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。但我想,这对我不起作用。抱歉我的英语不好。
答案 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)
最后我从本地(我的办公室)备份它,远程数据库。因为在本地,这些特权没有问题。感谢大家回答这个问题。