我想授予用户(我的程序)对给定数据库的所有访问权限 - 读/写,甚至删除。
重要的是,在删除之后(最初,在它存在之前),用户能够创建数据库 - 但只能使用给定的数据库名称,并且用户不应该访问除此数据库之外的任何内容
我迷失了GRANT ...
答案 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 |
+--------------------+