GRANT命令用于授予用户或者角色的访问权限,它可以在MySQL数据库中控制用户对数据库、表、列和存储过程等对象的操作权限。常见的GRANT命令如下:
GRANT SELECT ON database_name.table_name TO user_name; //授予某个用户对某个表的查询权限
GRANT INSERT, UPDATE, DELETE ON database_name.* TO user_name@localhost IDENTIFIED BY ‘password’; //授予某个用户对某个数据库的增加、修改、删除权限,并设置密码
GRANT ALL PRIVILEGES ON . TO ‘user_name’@‘%’ IDENTIFIED BY ‘password’; //授予某个用户对所有数据库和表的所有权限,并设置密码
GRANT EXECUTE ON PROCEDURE database_name.procedure_name TO user_name; //授予某个用户执行存储过程的权限
GRANT SELECT (col1, col2) ON database_name.table_name TO user_name; //授予某个用户只能查询某个表的指定列的权限
需要注意的是,GRANT命令必须由具有GRANT OPTION权限的用户执行。同时,为了保证系统安全性,应该只授予用户必要的最小权限,避免将ALTER、DROP等高危权限赋予普通用户。