数据库管理系统的维护与管理
掌握DBMS
提供的数据库用户和权限管理机制;理解存储过程概念,掌握存储过程与触发器的使用;掌握数据库备份与恢复方法。
实验环境:
openEuler
操作系统上的openGauss
数据库
实验内容
1.数据库安全性
(1)数据库账户的添加、删除
添加用户Tom
,登录密码为137570
1 |
|
发现密码至少需要8个字符
修改密码为137570911
1 |
|
又发现需要至少需要3种字符
最终修改密码为casual_user@137570
1 |
|
再创建以下三个用户
用户Jerry
密码Jerry@911
用户XiaoMing
密码XiaoMing&762505
用户LiHua
密码LiHua@12581
1 |
|
删除用户XiaoMing
1 |
|
(2)对账户进行授予权限、收回权限
将student
表所有权限赋予用户Tom
1 |
|
将student
表的s_id
,s_name
,s_major
的查询、更新权限赋予用户Jerry
1 |
|
将student
表数据的查询权限赋予用户LiHua
1 |
|
收回用户LiHua
对student
表的所有权限
1 |
|
收回用户jerry
对student
表中对s_id
,s_name
的更新权限
1 |
|
2.触发器,存储过程的使用
(1)创建存储过程并执行
创建更新借书表borrow_book
中的还书时间r_time
的存储过程,名为update_return_book
;
1 |
|
原先borrow_book
表中数据如下:
调用刚才创建的过程
1 |
|
再次查看该表的数据发现已经发送改变
(2)创建触发器并测试效果
创建触发器函数,功能是在还书更细还书时间的时候将相应的图书库存+1
1 |
|
创建触发器,在还书更新还书时间后调用上述触发器函数
1 |
|
原先图书表book
数据如下
更新还书时间r_time
1 |
|
再次查看book
表可以看到相应的图书库存已经发生变化
3.数据库备份与恢复
(1)对所创建的数据库进行备份
创建备份目录并且启动数据库
1 |
|
对数据库进行物理备份
1 |
|
查看备份好的文件
(2)利用备份进行数据库恢复
/gaussdb/data/db1
原文件如下
模拟数据被破坏
恢复数据库文件
1 |
|
数据已经恢复
实验总结
openGauss
创建存储过程也有所不同,openGauss
中没有delimiter
命令,主要创建过程如上所示。
在创建触发器时,没有注意到openGauss
与MySQL
之间的不同,尝试几次后没有成功,查阅资料得知openGauss
需要触发器函数,在定义触发器的时候调用触发器函数才能成功调用
在创建用户时设置密码需要至少三种字符且至少需要8位