任务七 数据库的高级操作
文章目录
【实训目的与要求】
1、学会对数据库的数据进行备份与还原操作;
2、学会在数据库中创建、删除用户;
3、学会对数据库中权限进行授予、查看和回收操作。
【实训原理】
数据库备份与还原;用户管理;授权管理。
【实训步骤】
参考任务二中提供的数据库及其表内容,编写相应SQL语句,实现数据库的备份与还原,用户管理,授权管理等操作。参考教材《数据库系统概论》第五章P141-147内容,以及《MySQL数据库入门》第8章P199-220的内容。
一、数据库的备份与还原
1.备份数据库
(1)功能:使用mysqldump备份chapter08数据库。
(《MySQL数据库入门》P200,请先建立chapter08数据库)
命令:
mysqldump -h localhost -u root -p chapter08>E:/backup/chapter08_16044905.sql
截图:
(2)功能:使用mysqldump备份所有数据库
命令:
mysqldump -h localhost -u root -p --all-databases>E:/backup/hyn.sql
截图:
2.还原数据库
(1)功能: 还原chapter08数据库。
命令:
mysql -h localhost -u root -p chapter08<E:/backup/chapter08_16044905.sql
截图:
(2)功能:还原所有数据库
命令:
mysql -h localhost -u root -p<E:/backup/hyn.sql
截图:
二、用户管理
1.使用SELECT语句查看mysql.user表内容
(1)功能:
命令:
SELECT * FROM mysql.user;
截图:
2.使用CREATE USER语句创建用户
(1)功能:用户名为user2,密码为123。
命令:
CREATE USER 'user2'@'localhost' IDENTIFIED BY '123';
截图:
3.使用GRANT语句创建用户
(1)功能:用户名为user,密码为123,并授予该用户对chapter08.student表有查询权限。
命令:
GRANT SELECT ON chapter08.student TO 'user'@'localhost' IDENTIFIED BY '123';
截图:
4.使用INSERT语句创建用户
(1)功能:用户名为user3,密码为123
命令:
INSERT INTO mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject)
VALUES('localhost','user3',PASSWORD('123'),'','','');
截图:
5.删除普通用户
(1)功能:删除用户user2
命令:
DROP USER'user2'@'localhost';
截图:
6.修改用户密码
(1)功能:root用户修改普通用户的密码
命令:
mysql> UPDATE mysql.user set Password=PASSWORD('new_password')
-> WHERE User='username' and Host='hostname';
截图:
(2)功能:普通用户修改密码
命令:
SET PASSWORD=PASSWORD('new_password');
截图:
三、权限管理
1.授予权限
(1)功能:把查询student表和修改学生姓名的权限授给某个已经建立的用户。
命令:
mysql> GRANT SELECT,UPDATE(SNo)
-> ON TABLE student
-> TO user;
截图:
(2)功能:把修改学生学分权限授予用户hyn
命令:
mysql> GRANT UPDATE(CCredits)
-> ON TABLE course
-> TO hyn;
截图:
2.查看权限
(1)功能: 查看root用户的权限
命令:
SHOW GRANTS FOR 'root'@'localhost';
截图:
3.收回权限
(1)功能:把查询student表的权限收回。
命令:
mysql> REVOKE SELECT
-> ON TABLE student
-> FROM user;
截图:
(2)功能:把对用户hyn对course表的修改权限收回
命令:
mysql> REVOKE UPDATE
-> ON TABLE course
-> FROM hyn;
截图:
4.一次性收回用户所有权限
(1)功能:收回用户hyn的所有权限
命令:
mysql> REVOKE ALL PRIVILEGES,GRANT OPTION
-> FROM 'hyn'
-> ;
截图:
【实训总结】
前几天因为实验六的难度二耽误了实验七的进度,以后得学会高效率的学习。