《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析

1.数据库安全性

【实验6-1】创建用户

创建一个用户名为'Teacher'密码为'T99999'的用户;创建一个用户名为'Student'密码为'S11111'的用户。

【实验6-2】用户授权

将Shopping数据库上SELECT、INSERT、DELETE、UPDATE的权限授予'Teacher'用户;将Shopping数据库上SELECT的权限授予'Student'用户。

【实验6-3】以'Teacher'用户身份连接Shopping数据库,分别执行SELECT、INSERT、DELETE、UPDATE、CREATE操作,查看执行结果;以'Student'用户身份连接Shopping数据库,执行SELECT、INSERT、DELETE、UPDATE操作,查看执行结果。

1.以'Teacher'用户身份操作Shopping数据库:

SELECT操作:

INSERT操作:

DELETE操作:

UPDATE操作:

CREATE操作:

2.以'Student'用户身份操作Shopping数据库:

SELECT操作:

INSERT操作:

DELETE操作:

UPDATE操作:

2.数据库备份与恢复

【实验6-4】使用mysqldump工具对Shopping数据库进行备份,查看备份文件。

【实验6-5】对Shopping数据库启用二进制日志,并且查看日志。

1.启用二进制日志:

在my.ini文件的[mysqld]所在行加上以下一行:

log-bin

如下图所示:

注:由于log-bin未指定目录,因此会在MySQL的data目录下自动创建二进制日志文件

保存my.ini文件后,重启服务器。

2.查看二进制日志:

注:如果使用mysqlbinlog时,提示"unknown variable 'default-character-set=utf8'.",如下:

这时要把my.ini文件中[client]下的default-character-set=utf8注释掉,不再使用mysqlbinlog工具时,再把#default-character-set=utf8恢复为default-character-set=utf8,如下所示:

【实验6-6】使用mysqldump工具对Shopping数据库进行恢复,查看恢复前后Shopping数据库的数据状态。

恢复前Shopping数据库的数据状态:

Shopping数据库恢复中:

恢复后Shopping数据库的数据状态:

3.数据导入导出

【实验6-7】分别使用SELECT ...INTO、MySQL命令、MySQL Workbench完成Shopping数据库中会员表和汽车配件表的导出,查看导出结果。

说明:

由于在使用SELECT ...INTO和MySQL命令执行导出操作时,会出现如下错误:

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

所以要在my.ini配置文件的[mysqld]下加入如下设置并保存和重启mysql服务器:

secure-file-priv=""

导出操作完成后,再把secure-file-priv=""删除并保存。

1.使用SELECT ...INTO导出会员表和汽车配件表:

注意:这里使用正斜杠(/)指定Windows路径名称,而不是使用反斜杠(\)

2.使用MySQL命令导出会员表和汽车配件表:

3.使用MySQL Workbench导出会员表和汽车配件表:

【实验6-8】分别使用LOAD DATA、MySQLIMPORT、MySQL Workbench完成Shopping数据库中会员表和汽车配件表的导入,查看导入结果。

1.使用LOAD DATA导入会员表和汽车配件表:

2.使用MySQLIMPORT导入会员表和汽车配件表:

说明:如果在执行语句时出现如下错误提示(用户名、密码没录错的情况下):

"mysqlimport:Error:1045 Access denied for use 'ODBC'@'localhost'(using password:YES)",则下面语句中的"mysqlimport --u root -p"需要在命令行中手工输入,不可以用粘贴的方式:

mysqlimport --u root -p --low-priority --replace shopping d:\backup\autoparts.txt

mysqlimport --u root -p --low-priority --replace shopping d:\backup\client.txt

3.MySQL Workbench导入会员表和汽车配件表:


以下是相关代码:

sql 复制代码
【实验6-3】以'Teacher'用户身份连接Shopping数据库,分别执行SELECT、INSERT、DELETE、UPDATE、CREATE操作,查看执行结果;以'Student'用户身份连接Shopping数据库,执行SELECT、INSERT、DELETE、UPDATE操作,查看执行结果。
1.以'Teacher'用户身份操作Shopping数据库:
SELECT操作:
select * from shopping.autoparts;
INSERT操作:
insert into shopping.comment(comments,autoparts_apid,client_cid) values("很好",3,10);
DELETE操作:
delete from shopping.comment where client_cid=10;
UPDATE操作:
update shopping.comment set comments="非常满意" where comment_id=1;
CREATE操作:
use shopping;
create table test(tname char(10),age int);
2.以'Student'用户身份操作Shopping数据库:
SELECT操作:
select * from shopping.autoparts;
INSERT操作:
insert into shopping.comment(comments,autoparts_apid,client_cid) values("很好",3,10);
DELETE操作:
delete from shopping.comment where comment_id=1;
UPDATE操作:
update shopping.comment set comments="很好" where comment_id=1;
【实验6-7】分别使用SELECT ...INTO、MySQL命令、MySQL Workbench完成Shopping数据库中会员表和汽车配件表的导出,查看导出结果。
1.使用SELECT ...INTO导出会员表和汽车配件表:
use shopping;
select * from autoparts into outfile "d:/backup/autoparts.txt"
select * from `client` into outfile "d:/backup/client.txt"
【实验6-8】分别使用LOAD DATA、MySQLIMPORT、MySQL Workbench完成Shopping数据库中会员表和汽车配件表的导入,查看导入结果。
1.使用LOAD DATA导入会员表和汽车配件表:
load data infile "d:/backup/autoparts.txt" replace into table shopping.autoparts;
load data infile "d:/backup/client.txt" replace into table shopping.`client`

本文为个人学习笔记与经验总结,仅供学习交流参考

相关推荐
API开发3 分钟前
apiSQL 迁移至已有 PostgreSQL 数据库指南
数据库·postgresql·api开发·postgrest·接口开发工具·api管理软件
学掌门6 分钟前
从数据库到可视化性能,5个大数据分析工具测评,python只排倒数
数据库·python·数据分析
编程小风筝7 分钟前
Django REST framework实现安全鉴权机制
数据库·安全·django
secondyoung7 分钟前
队列原理与实现全解析
c语言·数据库·mysql·算法·队列
Hello.Reader9 分钟前
Flink DataGen SQL Connector 本地造数、压测、边界数据与“像真数据”的生成技巧
大数据·sql·flink
05大叔13 分钟前
微服务Day01 MP
数据库·oracle
Jan123.16 分钟前
深入理解数据库事务与锁机制:InnoDB实战指南
数据库·学习
wWYy.16 分钟前
详解redis(6):数据结构string、list
数据库·redis·缓存
小北方城市网18 分钟前
MyBatis 进阶实战:插件开发与性能优化
数据库·redis·python·elasticsearch·缓存·性能优化·mybatis
Hello.Reader18 分钟前
Flink SQL 压测最短闭环Print 验证正确性 + BlackHole 榨干性能上限(附 Join/Agg/TopN/UDF 模板)
大数据·sql·flink