dream

一个菜鸟程序员的成长历程

0%

数据库系统原理第十三节

数据库系统原理第十三节

数据库安全和保护

安全性与访问控制

数据库安全:指保护数据库以防止不合法的使用而造成数据泄露,更改或破坏,所以安全性对于任何一个DBMS来说都是至关重要的

  • 身份验证
  • 数据库用户权限确认

查看用户

1
select user from mysql.user

创建用户

1
create user user[identified by [password]'password']

create user ‘test‘@’%’ identified by ‘123’

create user ‘tset‘@’%’ identified by password ‘jdkfjalkdjskflajsdfa’

删除用户

1
drop user user

drop user ‘test‘@’%’

修改用户

1
rename user old_user to new_user

修改密码

1
set password for 'test'@'%' = PASSWORD('pass')

账号权限管理

使用grant 为用户授权

1
2
3
4
5
grant
priv_type[column]
on [object_type] priv_level
to user
[with grant option]

grant select (id, name)
on test.test_table
to test@’localhost’

收回用户权限

1
2
3
4
revoke 
priv_type
on [object_type]
from user

revoke select on test.test_table from ‘test‘@’localhost’

事务与并发控制

所谓事务是用户定义的一个数据操作序列,这些操作可作为一个完整的工作单元,要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务中的操作一般是对数据的更新操作,包括增删改

begin transaction开始
commit 或 rollback结束

事务的特征

  • A 原子性
  • C 一致性
  • I 隔离性
  • D 持续性
并发操作问题
  • 丢失更新
  • 不可重复读
  • 读‘脏’数据
封锁

封锁 是最常用的并发控制技术

基本思想:需要时,事务通过向系统请求对它所希望的数据对象加锁,以确保它不被非预期改变