首页 /交流讨论区/聊天灌水
123
2022年6月23日 16:14

实验六 MySQL数据库系统的管理与维护

一、实验目的

熟练掌握MySQL数据库的基础知识及常用的MySQL操作命令与用户权限管理。

二、实验环境

Red Hat Linux 9操作系统。

三、实验结果

每位同学登录数据库服务器,建立自己的用户并授予不同的权限;使用不同的用户登录数据库,进行相关操作。

四、实验前准备

1、在linux下,建立/lx文件夹,/lx/文件夹下建立文件input.txt,内容如下:

注意,数据之间的分隔符使用Tab键输入

#vi /lx/input.txt

\n 赵刚 19 天津

\n 张强 21 南京

\n 苏彤彤 18 北京

\n 徐志林 19 南京

\n 刘海 20 福州

存盘退出

2、连接和断开数据库

连接数据库

#mysql -h主机IP地址 -u用户名 –p

输入该用户密码,如果连接成功,出现以下提示符:

mysql>

断开数据库

mysql>quit(或exit);

#

五、实验内容及步骤

1、在客户端以adminroot用户登录数据库服务器

#mysql -h 数据库服务器的IP地址 -u adminroot -p

输入密码:

mysql>

出现mysql提示符,说明登录数据库服务器成功。

建立如下用户并授予相应的权限:

(1) 建立用户useradmin序号,具有对数据库sydata序号操作的所有权限,密码为'123',登录的主机为任意客户端


mysql>grant all on sydata序号.* to useradmin序号@'%' identified by '123';


(2) 建立用户isuser序号,具有对数据库sydata序号插入,检索权限,密码为'234',登录的主机为任意客户端


mysql>grant insert,select on sydata序号.* to isuser序号@'%' identified by '234';


(3) 建立用户ususer序号,具有对数据库sydata序号更新,检索权限,密码为'345',登录的主机为任意客户端


mysql>grant update,select on sydata序号.* to ususer序号@'%' identified by '345';


(4) 建立用户sduser序号,具有对数据库sydata序号删除,检索权限,密码为'456',登录的主机为任意客户端


mysql>grant delete,select on sydata序号.* to sduser序号@'%' identified by '456';


mysql>exit;    //退出数据库


2、在客户端以useradmin序号用户登录数据库服务器,创建数据库sydata序号,在该数据库中建立表sytable,表列为 id:int(3),name:char(6),age:int(2),addr:varchar(50).

其中id为主键,不能为空并且为自动增一,name和age不能为空,addr缺省值为大连市.


(1) 登录数据服务器

#mysql -h 数据库服务器的IP地址 -u useradmin序号 -p

输入密码

mysql>

出现mysql提示符,说明登录数据库服务器成功

(2) 创建数据库sydata序号,并在其中创建表sytable

mysql>create database sydata序号; //创建数据库

mysql>show databases;       //显示数据库

mysql>use sydata序号;           //打开数据库

mysql>create table sytable (id int(3) auto_increment not null primary key,name char(6) not null,age int(2)  not null,addr varchar(50) default '大连市');  //创建表

建立成功后,查询表sytable结构

mysql>describe sytable;         //查询表结构

如果正确,转向步骤(3);如果不正确,要修改表sytable结构,使其满足题中的要求

mysql>alter table sytable 修改的字段;

mysql>exit;


3、在客户端以isuser序号用户登录数据库服务器,向表sytable中插入二条记录,('李红',20,'沈阳市'),('王燕',19,'上海市')


#mysql -h 数据库服务器的IP地址 -u isuser序号 -p

输入密码

mysql>

mysql>use sydata序号;                        //打开数据库

mysql>insert into sytable (name,age,addr) values('李红',20,'沈阳市'); //向表插入记录

mysql>insert into sytable (name,age,addr) values('王燕',19,'上海市');


mysql>select * from sytable;                  //查看表信息


成批向表sytable中添加记录

mysql>load data local infile "/lx/input.txt" into table sytable;

//成批向表插入记录

查看结果是否正确,如果不正确,查找原因,如果需要删除表sytable中的记录,需要使用sduser序号登录数据库,使用delete from sytable where 条件.

mysql>exit;


4、在客户端以ususer序号用户登录数据库服务器,将表sytable中姓名为'苏彤彤'的改为'苏丹丹'

#mysql -h 数据库服务器的IP地址 -u ususer序号 -p

输入密码

mysql>

mysql>use sydata序号;   //打开数据库

mysql>update sytable set name='苏丹丹' where name='苏彤彤';  //更新表记录

mysql>select * from sytable;    //查看表记录

查看结果是否正确,如果不正确,查找原因,进行修改

mysql>exit;


5、在客户端以sduser序号用户登录数据库服务器,将表sytable中地址为'南京'的记录删除


#mysql -h 数据库服务器的IP地址 -u sduser序号 -p

输入密码

mysql>

mysql>use sydata序号;   //打开数据库

mysql>delete from sytable where addr='南京';  //删除表中符合条件的记录

mysql>select * from sytable;   //查看表记录

查看结果是否正确,如果不正确,查找原因,进行修改

mysql>exit;


6、在客户端以isuser序号用户登录数据库服务器

#mysql -h 数据库服务器的IP地址 -u isuser序号 -p

输入密码

mysql>

mysql>use sydata序号;  //打开数据库

mysql>create table xx;  //新建表

结果是什么?

mysql>update sytable set name='赵刚' where name='赵彤彤';

结果是什么?

mysql>delete from sytable where age=19;

查看结果?

最后的结论是什么?

同样以ususer序号用户登录数据库服务器,验证是否有建立,插入,删除权限;

sduser序号用户登录数据库服务器,验证是否有建立,插入,更新权限;

mysql>exit;


7、在客户端以adminroot用户登录数据库服务器

#mysql -h 数据库服务器的IP地址 -u adminroot -p

输入密码

mysql>

收回用户sduser序号的删除权限

mysql>revoke delete on sydata序号.* from sduser序号@'%';

在客户端以sduser序号用户登录数据库服务器

#mysql -h 数据库服务器的IP地址 -u sduser序号 -p

输入密码:

mysql>

mysql>use sydata序号;      //打开数据库

mysql>delete from sytable;   //删除表中所有记录

结果是什么?

结论是什么?

mysql>exit;


8、导出/导入数据库

(1) 数据库的导出

在客户端

#mysqldump -h 数据库服务器的IP地址 -u sduser序号 -p sydata序号>/lx/sydatabak.sql  //数据库的导出

输入用户sduser序号的密码

(2) 数据库的导入

在客户端以adminroot用户登录数据库服务器,创建数据库sydata序号+2

#mysql -h 数据库服务器的IP地址 -u adminroot -p

输入密码

mysql>

mysql>create database sydata序号+2;    //创建数据库sydata序号+2

mysql>use sydata序号+2;            //打开数据库

mysql>source /lx/sydatabak.sql   //数据库的导入

mysql>show tables;             //显示表

mysql>select * from sytable;     //显示表中的数据

mysql>exit;


9、删除数据库及用户

在客户端以adminroot用户登录数据库服务器

#mysql -h 数据库服务器的IP地址 -u adminroot -p

输入密码

mysql>

(1) 删除数据库

mysql>drop database sydata序号;   //删除数据库

mysql>drop database sydata序号+2;

mysql>show databases;       //显示数据库

查看结果,是否删除数据库sydata序号及sydata序号+2

(2) 删除用户useradmin序号,isuser序号,ususer序号,sduser序号

mysql>use mysql;      //打开数据库

mysql>delete from user where user='useradmin序号'; //删除用户useradmin序号

mysql>delete from user where user='isuser序号'; //删除用户isuser序号

mysql>delete from user where user='ususer序号'; //删除用户ususer序号

mysql>delete from user where user='sduser序号'; //删除用户aduser序号

mysql>flush privileges;                          //刷新权限表

mysql>exit;


10、在客户端,验证以用户名useradmin序号,isuser序号,ususer序号,sduser序号登录数据库服务器,是否能登录成功


11、在客户端删除/lx文件夹

#rm -rf /lx

全部回复(0)
首页 | 电脑版 |