授予对当前数据库的 MySQL 权限?
Grant MySQL permissions on current database?
我可以在 GRANT
语句中使用静态数据库名称授予权限。
GRANT SELECT,INSERT ON database_name.table_name TO 'username'@'localhost';
有没有一种方法可以在 GRANT
语句中动态设置数据库名称,以便授权是针对恰好是当前数据库的那个?
USE database_name;
GRANT SELECT,INSERT ON <what goes here?>.table_name TO 'username'@'localhost';
您无需指定任何内容。如果未指定数据库,MySQL 将采用 default database
,这是在您 USE database_name
时设置的。来自 manual:
The USE db_name statement tells MySQL to use the db_name database as the default (current) database for subsequent statements.
从 GRANT
部分:
If you specify tbl_name rather than db_name.tbl_name, the statement applies to tbl_name in the default database.
所以你可以使用
GRANT SELECT,INSERT ON table_name TO 'username'@'localhost';
我可以在 GRANT
语句中使用静态数据库名称授予权限。
GRANT SELECT,INSERT ON database_name.table_name TO 'username'@'localhost';
有没有一种方法可以在 GRANT
语句中动态设置数据库名称,以便授权是针对恰好是当前数据库的那个?
USE database_name;
GRANT SELECT,INSERT ON <what goes here?>.table_name TO 'username'@'localhost';
您无需指定任何内容。如果未指定数据库,MySQL 将采用 default database
,这是在您 USE database_name
时设置的。来自 manual:
The USE db_name statement tells MySQL to use the db_name database as the default (current) database for subsequent statements.
从 GRANT
部分:
If you specify tbl_name rather than db_name.tbl_name, the statement applies to tbl_name in the default database.
所以你可以使用
GRANT SELECT,INSERT ON table_name TO 'username'@'localhost';