关于MySQL数据库权限,“\ _%”是什么意思?

时间:2016-11-24 17:10:46

标签: mysql phpmyadmin

我使用phpMyAdmin创建了一个新的MySQL用户homestead,在这样做时,创建了一个具有相同名称的新数据库。如下所示,homestead被授予两个数据库的权限:homesteadhomestead\_%

\_%表示什么?我后来创建了一个新数据库laravel,并希望用户homestead拥有与第一个表相同的权限。我是否还需要向laravel\_%添加权限?

enter image description here

1 个答案:

答案 0 :(得分:2)

%_只是SQL通配符。 GRANT syntax允许他们:

  

在中指定数据库名称时,允许使用_和%通配符   GRANT语句,在数据库级别授予权限。

您可能会注意到_已转义(\_):

  

如果你想使用_字符作为一部分   数据库名称,您应该在GRANT语句中将其指定为\_   阻止用户访问其他数据库   匹配通配符模式;例如,GRANT ...... ON`foo \ _bar`。* TO ....

这显然是一种将权限扩展到以homestead_...

开头的任何数据库的方法