mysql - 关于 MySQL 数据库权限, "\_%"意味着什么?

标签 mysql phpmyadmin

我使用 phpMyAdmin 创建了一个新的 MySQL 用户 homestead,并且在执行此操作时,创建了一个同名的新数据库。如下所示,homestead 被授予对两个数据库的权限:homesteadhomestead\_%

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

enter image description here

最佳答案

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

The _ and % wildcards are permitted when specifying database names in GRANT statements that grant privileges at the database level.

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

if you want to use a _ character as part of a database name, you should specify it as \_ in the GRANT statement, to prevent the user from being able to access additional databases matching the wildcard pattern; for example, GRANT ... ON `foo\_bar`.* TO ....

这显然是一种将权限扩展到任何以 homestead_... 开头的数据库的方法

关于mysql - 关于 MySQL 数据库权限, "\_%"意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40791763/

相关文章:

php - 如何使用php删除目录中的旧文件

phpMyAdmin 对于 php 5.5.8 出现错误 404

mysql - 根据上次在线时间删除所有行?

php - 由于 Configurations.PHP 文件无法访问网站而导致数据库错误

mysql - phpmyadmin 错误

mysql - 根据条件计算MYSQL查询中的百分比

java - 使用 Apache Helix 集群管理的 Mysql 的数据丢失处理

php - 按字母顺序在列中显示 mysql 结果

mysql - 如何在 MySQL 中使用自动增量字段复制行并插入到同一个表中?

mysql - 如何获得表末尾的列总和