无法在mysql中创建新数据库

时间:2014-11-05 18:57:00

标签: mysql

我可以通过root帐户创建新数据库。但我需要使用我创建的新用户创建新数据库。

以下是尝试使用新用户

创建数据库时遇到的错误
ERROR 1044 (42000): Access denied for user 'user'@'localhost' to database 'new_db'

如何向" user"授予权限?所以它创建了任意数量的新数据库?

更新

这也是我的尝试:

mysql> grant all privileges on db.* to 'user'@'%' with create;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create option' at line 1
mysql>

1 个答案:

答案 0 :(得分:0)

PHP示例:

$con = new mysqli("...","...","..."); // CONNECT TO DB WITH ROOT USER

mysqli_query($con, "GRANT ALL PRIVILEGES ON newdb.* TO 'user'@'%' WITH GRANT OPTION");

命令行示例:

使用root用户登录,并使用:

GRANT ALL PRIVILEGES ON newdb.* TO 'user'@'%' WITH GRANT OPTION;

这将创建一个用户如何创建新数据库(但也会给他所有权限做坏事,所以明智地处理它......)。

这仅适用于创建:

GRANT CREATE ON *.* TO 'newuser'@'%' IDENTIFIED BY 'password'