我想问有关从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。但这对我不起作用,我想。很抱歉我的英语不好。
发布于 2013-01-28 10:08:07
最后,我从本地(我的办公室)备份它,远程数据库。因为在本地,这种特权是没有问题的。感谢所有人对这个问题的回应。
发布于 2013-01-26 11:37:33
听起来您的用户没有相关权限。
发布于 2013-01-26 11:43:53
仅拥有用户所需的权限是不够的。当他从特定的IP登录时,他也应该拥有特权。从您的服务器IP访问时,请检查用户k3516438_disp是否有创建用户和数据库的权限。
您的用户"k3516438_disp“可能没有从"localhost”访问的权限。MySQL官方网站有更多关于“拒绝访问”错误的信息。请参阅http://dev.mysql.com/doc/refman/5.1/en/access-denied.html
https://stackoverflow.com/questions/14533520
复制相似问题