授予用户访问权限以创建具有给定名称的数据库

时间:2015-08-28 08:19:32

标签: mysql

我想授予用户(我的程序)对给定数据库的所有访问权限 - 读/写,甚至删除。

重要的是,在删除之后(最初,在它存在之前),用户能够创建数据库 - 但只能使用给定的数据库名称,并且用户不应该访问除此数据库之外的任何内容

我迷失了GRANT ...

1 个答案:

答案 0 :(得分:1)

不必存在数据库来授予对它的访问权限。作为root等特权用户,您可以

mysql> grant all on dooda.* to 'dooda'@'localhost' identified by 'dooda';
mysql> exit

然后

jason:>mysql -u dooda -p
Enter password: 
etc
mysql> create database dooda;
Query OK, 1 row affected (0.00 sec)

但你不能

mysql> create database somethingelse;
ERROR 1044 (42000): Access denied for user 'dooda'@'localhost' to database 'somethingelse'

如果你

mysql> drop database dooda;
Query OK, 0 rows affected (0.00 sec)
mysql> create database dooda;
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dooda              |
| test               |
+--------------------+