《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`

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

相关推荐
AI Echoes4 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
@nengdoudou4 小时前
KingbaseES支持 mysql 的find_in_set函数
数据库·mysql
摇滚侠4 小时前
面试实战 问题三十三 Spring 事务常用注解
数据库·spring·面试
梁萌4 小时前
保姆级的MySQL执行计划(Explain)解读
数据库·mysql·explain·执行计划
JIngJaneIL4 小时前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
+VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
cq林志炫5 小时前
MySQL 英文逗号隔开的数据如何模糊精确查询
mysql
杨云龙UP6 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql
黄俊懿6 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——开启全局事务
java·数据库·spring·spring cloud·微服务·架构·架构师