常见的mysql权限设置
一.使用说明
1. MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
二.开发步骤说明
1.安装
去https://www.mysql.com/下载Mysql,
然后一直点击next安装。
2. 点击mysql.exe打开mysql命令窗口
假如已有以下操作:
创建数据库S-T命令:
create database S_T;
创建学生表Student
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20));
创建课程表Course
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno));
创建选课表SC
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES student(Sno),
FOREIGN KEY (Cno) REFERENCES course(Cno));
insert into student
values('200215121','李勇','男',20,'CS'),
('200215122','刘晨','女',19,'CS'),
('200215123','王敏','女',18,'MA'),
('200215125','张立','男',19,'IS');
需要以下操作:
创建用户U1,使其在本地主机上用密码4444登陆;
命令:create user ‘用户名’@’localhost’ identified by ‘密码’;
将student表的查询权限授予U1;
将course和SC表的所有权限授予U1;
将SC表的修改权限授予所有用户;
将student表的插入权限授予U1,并允许其将自身所持有的权限转授;
创建用户U2,把查询Student表和修改学生学号的权限授给U2;
把查询删除学生student表和修改学生姓名的权限授给用户U1;
从U1中收回student的insert权限;
将U1对course表的所有权限收回;
把用户U2修改学生学号的权限收回;
什么是角色?
在数据库中,为便于对用户及权限进行管理,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)。
创建角色R1,将student的查询、修改权限授予R1,并将角色R1授予U1;
Create role R1;
Grant select,update on table student to R1;
Grant R1 to u1@localhost;
将角色R1查询student的权限删除;
Revoke update on student from R1;
创建信息学生视图IS_Student;并将信息系学生视图IS_Student的查询权限授予U1;
三.相关参考网址
mysql教程:
http://www.oracle-dba.cn/yingjia/#001408