首页 文章

如何在没有mysql表的情况下授予数据库权限?

提问于
浏览
3

我想知道如何在没有表的情况下授予数据库权限 .

我尝试过以下方法:

GRANT ALL在databasename上输入username @ hostname;

它显示一个错误,说“无法在用户表中找到任何匹配的行” .

2 回答

  • 0

    你有没有试过这种东西,

    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)
    
  • 4

    您的服务器可能已启用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'
    

相关问题