我已经安装了mysql Server版本为5.5.32-0ubuntu0.12.04.1(Ubuntu)的Linux Ubuntu 12.04 LTS。
我似乎具有root用户的所有权限,可以创建用户和数据库。但是,我似乎无法将用户赋予数据库的所有权限。
我的.my.cnf文件:
[client]
user=root
password=test
我通过 mysql -u root -h localhost -p
登录,但即使我有 .my.cnf 文件,没有使用 -p
选项就无法登录(这不是问题,只是很奇怪)。
有一堆 root 用户,所以我把它们都删除了,现在只剩下这些用户:
mysql> SELECT host,user,password FROM mysql.user;
+-----------+------------------+-------------------------------------------+
| host | user | password |
+-----------+------------------+-------------------------------------------+
| localhost | root | ***************************************** |
| localhost | debian-sys-maint | ***************************************** |
+-----------+------------------+-------------------------------------------+
mysql> SHOW GRANTS FOR 'root'@'localhost';
+----------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*****************************************' |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------+
现在我创建了一个数据库和一个用户。当我授予权限时,最后一行显示了一个错误。请问您能告诉我为什么会出现这个错误以及我该如何解决它吗?
mysql> create database staging;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'staging'@'localhost' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON staging.* TO 'staging'@'localhost';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'staging'