MySQL用户创建数据库需要什么权限?

AKW*_*KWF 17 mysql

除root之外的用户是否可以创建数据库?

 GRANT SELECT, CREATE ON *.* TO 'myguy'@'thatmachine' IDENTIFIED BY PASSWORD '*12057DFA2BFBD8760D4788735B1C3E26889D7ECE' |
 GRANT ALL PRIVILEGES ON `db1`.* TO 'myguy'@'thatmachine'
 GRANT ALL PRIVILEGES ON `db2`.* TO 'myguy'@'thatmachine'
Run Code Online (Sandbox Code Playgroud)

我想知道这里缺少什么特权?另外,为什么第一行有一个密码呢?

UPDATE

让我进一步澄清我的问题是什么.我有两个数据库机器,源和目标.源计算机上有许多客户数据库.我需要将这些源数据库移动到另一台目标机器.

数据库采用mysqldump'ed .sql文件的形式,这些文件是从源到目标的sftp.然后,目标用户(而不是root)必须从每个.sql文件本地重新创建数据库,执行某些操作,然后删除数据库.

我找不到一种方法来为目标用户提供这些权限而不给予他全局权限*.*,这有效地使该用户像root一样危险.

Tho*_*ght 11

绝对可以. http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create

  • 在一个非常不幸的事件链中,确实允许用户'myguy'创建数据库.他只是不能摧毁他们.然而,我不希望该用户能够销毁他没有创建的数据库,那么我有什么特权可以给他?为什么这么难? (4认同)
  • @AKWF有点晚了,但是给`myguy`权限来创建和销毁名为`myguy_*`的数据库(或%或者mysql通配符是什么) (4认同)