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

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

相关推荐
fen_fen18 小时前
Oracle建表语句示例
数据库·oracle
砚边数影20 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
orange_tt20 小时前
Djiango配置Celery
数据库·sqlite
云小逸21 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
·云扬·21 小时前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
肉包_51121 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
霖霖总总21 小时前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
此刻你1 天前
常用的 SQL 语句
数据库·sql·oracle
それども1 天前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
·云扬·1 天前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb