如何给数据库授予用户权限的访问]

我已经在mysql 5.1中创build了用户,并赋予了下面给出的ALL权限,

mysql> show GRANTS FOR test; +-------------------------------------------------------------+ | Grants for test@% | +-------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION | | GRANT ALL PRIVILEGES ON `tt`.* TO 'test'@'%' | +-------------------------------------------------------------+ 2 rows in set (0.00 sec) 

但是show数据库没有显示mysql上的数据库。 它只显示如下。 如何为其他数据库表提供特权以及用户“testing”?

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

错误,当我试图使用MySQL数据库作为用户testing:

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

在mysql.user表中,你可以为不同的用户指定不同的权限。如果你使用的是查询浏览器,你可以通过工具 – > mysqlpipe理员,然后去用户和创build具有权限的新用户或更改其权限。

你改变特权后,不要忘记运行“FLUSH PRIVILEGES”,否则你改变不会影响。

您没有以用户test @%的身份login,因为您有匿名用户帐户“@'localhost”,它首先匹配。 或者删除''@ localhost'或创build'test'@'localhost'

你也可以运行mysql_secure_installation ,这将为你处理很多这个问题。