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

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

相关推荐
Turnip12021 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1771 天前
《从零搭建NestJS项目》
数据库·typescript
加号32 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐2 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再2 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
WeiXin_DZbishe2 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
tryCbest2 天前
数据库SQL学习
数据库·sql
jnrjian2 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle