MySQL数据库实验:任务七 数据库的高级操作

任务七 数据库的高级操作



【实训目的与要求】

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 USERuser2@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
    -> ;

【实训总结】

前几天因为实验六的难度二耽误了实验七的进度,以后得学会高效率的学习。

经验分享 程序员 微信小程序 职场和发展