2013-01-23 128 views

回答

2

不可以。您只能拥有一个具有任何名称的MySQL数据库 - 您将需要更改一个(或两个!)数据库的名称。

+0

这是因为它们都可以提供给root用户,所以存在冲突? – mt0s

+0

这是想法的一种方式。更准确的解释是,MySQL会根据名称跟踪数据库的所有内容(例如,所有数据位于以数据库命名的文件夹中),因此无法区分多个数据库名称。 – duskwuff

2

两个不同的数据库必须有两个不同的名称; MySQL无法通过名称来区分它们。在托管例如Web服务的一种常见做法,是前缀与用户名的数据库名称,所以数据库将被称为:

CREATE DATABASE user1_dbname 
CREATE DATABASE user2_dbname 

MySQL的可以单独的权限表中每个用户一个数据库,这将使得user1只能访问特定的一组表,并且user2可以访问不同的集合,但这是令人困惑的问题。真的,他们应该分开命名。

/* Separate SELECT permissions for user1 and user2 by table */ 
GRANT SELECT ON shared_dbname.user1table1,shared_dbname.user1table2 TO [email protected] 
GRANT SELECT ON shared_dbname.user2table1,shared_dbname.user2table2 TO [email protected] 
相关问题