2014-03-29 64 views
0

创建数据库和用户我有mysql数据库的非root用户。它已授予,创建和创建用户权限。我需要使用该帐户创建一个新的数据库和用户。然后,我需要给予基本的使用权限,以新创建的用户新创建的数据库上..MySQL的非root用户

我能够创建一个使用非root用户一个新的数据库和用户。现在,当使用非root用户为新创建的数据库授予新创建用户的权限时,我获得了对新创建的用户上的非root用户拒绝的权限......任何解决方法?从OP的意见包括


执行

SHOW GRANTS FOR 'non_root_account_name'@'his_host' 

导致以下

GRANT CREATE, INDEX, ALTER, CREATE USER 
    ON *.* 
    TO 'non_root_account_name'@'localhost' 
     IDENTIFIED BY PASSWORD 'password' 
     WITH GRANT OPTION 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, 
     DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, SHOW VIEW 
    ON non_root_account_name.* 
    TO 'non_root_account_name'@'localhost' 
     WITH GRANT OPTION` 
GRANT SELECT 
    ON mysql`.* 
    TO 'non_root_account_name'@'localhost'` 
+0

你执行FLUSH特权? –

+0

嗨巴勃罗, 没有。我实际上是用php执行查询。所以,我会通过非root用户登录到mysql。那么,何时应该刷新执行? – Amal

+0

就在你改变了一些特权之后。打开MySQL控制台为根,执行FLUSH PRIVILEGES –

回答

1

按照文件上GRANT privileges

要使用GRANT,您必须具有GRANT OPTION权限,并且您必须具有您授予的特权。

意思是说,您的帐户授予其他用户权限,它应该具有GRANT OPTION权限。

连接为root并在您的帐户上重新执行grant以授予上述权限。

GRANT 
    -- list of privileges here 
    -- to your account name @ host 
    WITH GRANT OPTION 
+0

嗨, 我实际执行查询与PHP。所以,我会通过非root用户登录到mysql。我有双重检查,该帐户有授予特权 – Amal

+0

你的意思是非root用户具有'grant option'特权? –

+0

没错...没错.. – Amal