我想在MySQL上创建多个用户,并允许他们创建数据库并访问仅由他们创建的数据库。有没有办法做到这一点? 如果是的话,我需要给予什么许可?
答案 0 :(得分:0)
您可以只创建数据库并将数据库的所有权限授予特定用户,而不是向用户提供“create database”权限。这就是我在我的世界中使用的东西。我不认为在MySQL中可以使用“创建数据库”权限。
使用以下方法可以控制数据库级别,因为用户可以在具有权限的特定数据库中执行任何操作,而不是在实例级别(意味着他们无法创建垃圾数据库)。
Friday 28> mysql -uroot -p
mysql> create user test identified by 'test';
mysql> create database x1;
mysql> grant all privileges on x1.* to 'test'@'%';
Friday 28> mysql -utest -p
Enter password:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| x1 |
+--------------------+
2 rows in set (0.00 sec)
mysql> use x1;
Database changed
mysql> create table test(c int);
seQuery OK, 0 rows affected (0.44 sec)
mysql> select * from test;
Empty set (0.00 sec)