第四节:MySQL安全性和权限

一、mysql数据库的权限系统
防止数据有意或无意的被非法查看、修改、删除
两个概念:
	验证:
		确定用户是否允许连接数据库
	授权:
		确定用户是否有权限操作请求
		若验证不通过,授权就无法进行
	MySQL数据库权限控制步骤
		1、查看mysql数据库中user表用户是否允许连接
		2、若允许连接,查询user表中用户的授权,user表中的权限都是全局的
		3、若没有全局权限,查询db表看用户可以和那些数据库进行交互
		4、若用户在db表中没有权限,但是主机值为空,查询host表用户可以和那些数据库交互,实现特定用户访问主机的控制
		5、若user、db、host表中都没有权限,就查询tables_priv和columns_priv表,用户可以和那些表和列进行交互
	*权限是从广泛到特殊的顺序进检索(验证)
二、创建管理员
	-- 创建用户
	create user userName identified by 'password';
	-- 删除用户
	drop user userName;
	-- 修改用户名
	rename user userName to newUserName;
	-- 修改密码
	update user set password = password(‘newPassword’) where user = userName
三、用户授权
授权
	grant 权限 on tables to userName;-- 授权
回收:
	revoke 权限 ontables to userName;-- 回收权限

权限:
	insert、delete、update、select(表数据权限)
	alert、create、drop(表结构权限)
	all privileges(除了授权以外的所有全选)
	例子:
		create user xiaoge identified by '123456' -- 创建xiaoge管理员密码123456
		 -- 给xiaoge授权对test数据库student表添加、修改、查询、删除的权限(test.*表示test中所有数据表)
		grant insert,select,update,delete on test.student to xiaoge
		revoke insert on test.student to xiaoge; -- 回收xiaoge对test数据库student表单的
四、索引
作用 : 提高查询效率
语法:
	-- 创建索引
	create index 索引名 on 表名;-- 普通索引
	create unique index 索引名 on 表名;-- 唯一索引
	-- 删除索引
	drop index 索引名 on 表名;
应用:
	select * from 索引名 where name like 'xx'-- mysql中索引可以当表名使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小戈&328

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值