在使用mysql数据库的过程中,为了便于让别人来帮忙管理我们的mysql数据库,又不会影响到我们的核心数据,这个时候就必须用到mysql grant命令来给mysql用户授权,下面来开始学习一下给mysql用户授权的方法吧!
首先要安装mysql数据库,安装mysql数据库的方法很简单,这里不再赘述,请查看:如何在Linux服务器中使用yum命令安装mysql数据库
使用root用户登录到mysql之后,例如我们要创建一个名为user1的用户,密码为123,sql命令如下:
CREATE USER 'user1'@'localhost' IDENTIFIED BY '123';
1:给mysql用户授权所有权限
给我们前面创建的user1用户授权所有的权限,所有的权限当然就包括对mysql数据库的增删改查,以及新建数据库的权限了,如下:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
刷新权限,让我们分配的权限生效,大小写无所谓。
FLUSH PRIVILEGES;
2:给mysql用户按需分配增删改查的权限
有时候我们需要给mysql用户按需分配增删改查的权限,而不是把所有的数据库权限都分配给一个用户,这个时候我们就要遵从如下格式来给mysql用户授权了,如下:
// 权限类型 数据库名 数据库表 用户 本地 GRANT [permission type] ON [database name].[table name] TO 'user'@'localhost';
mysql权限类型包括如下这几种,分别如下:
CREATE – 表示用户可以创建数据库或表
SELECT – 表示用户有查询的权限
INSERT – 表示用户有插入权限
UPDATE – 表示用户有修改的权限
DELETE – 表示用户有删除的权限
DROP – 表示用户可以删除数据库或表
例如我们要给之前创建的user1用户按需分配插入数据和查询数据的权限,sql命令如下:
GRANT SELECT,INSERT ON *.* TO 'user'@'localhost';
3:当然了,我们也可以移除用户的相关权限,格式和上面差不多
REVOKE [permission type] ON [database name].[table name] FROM 'user'@'localhost';
例如我们可以移除user1用户的所有权限,sql命令如下:
REVOKE ALL PRIVILEGES ON *.* FROM 'user1'@'localhost';
4:mysql删除用户命令
mysql删除用户命令可以删除我们之前所创建的名为user1的用户,命令如下:
DROP USER 'user1'@'localhost';