我想知道如何在没有表的情况下授予数据库权限 .
我尝试过以下方法:
GRANT ALL在databasename上输入username @ hostname;
它显示一个错误,说“无法在用户表中找到任何匹配的行” .
你有没有试过这种东西,
mysql> create database amarokdb; Query OK, 1 row affected (0.00 sec) mysql> grant usage on *.* to amarokuser@localhost identified by 'amarokpasswd'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on amarokdb.* to amarokuser@localhost ; Query OK, 0 rows affected (0.00 sec)
您的服务器可能已启用NO_AUTO_CREATE_USER模式 .
来自MySQL手册:(http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html)
NO_AUTO_CREATE_USER会阻止GRANT语句自动创建新用户(否则会这样做),除非还指定了非空密码 . (在MySQL 5.0.2中添加)
因此,您可以删除NO_AUTO_CREATE_USER模式或使用以下密码创建用户:
GRANT ALL ON databasename TO username@hostname IDENTIFIED BY 'your non-empty password here'
2 回答
你有没有试过这种东西,
您的服务器可能已启用NO_AUTO_CREATE_USER模式 .
来自MySQL手册:(http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html)
因此,您可以删除NO_AUTO_CREATE_USER模式或使用以下密码创建用户: