在MySQL中授予数据库权限

我有一个新的MySQL安装,并试图创build一个单独的用户有权访问自己的数据库。

mysqladmin -u root -p create people mysql> create user 'cgp'@'localhost' identified by 'myPass'; mysql> grant all on people to 'cgp'@'localhost' identified by 'myPass'; Query OK, 0 rows affected (0.00 sec) <-- problem here? mysqladmin -v -u root -p flush-privileges mysql -h localhost -u cgp -p people Enter password: ERROR 1044 (42000): Access denied for user 'cgp'@'localhost' to database 'people' mysql -u root -p mysql> show grants; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*xxx' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION 

正如你所看到的那样,cgp用户的Grant表中没有任何内容。 我究竟做错了什么?

尝试

grant all on people.* to 'cgp'@'localhost' identified by 'myPass';

  • 通配符意味着人员数据库中的所有表都应该被授予访问权限。