1、实验六MySQL数据库系统的管理与维护资料讲解实 验 六 My SQL 数 据库系统的管理与维护实验六MySQL数据库系统的管理与维护一、 实验目的熟练掌握MySQ数据库的基础知识及常用的MySQ操作命令与用户权限管 理。二、 实验环境Red Hat Li nux 9 操作系统。三、 实验结果每位同学登录数据库服务器,建立自己的用户并授予不同的权限;使用不 同的用户登录数据库,进行相关操作。四、 实验前准备1、在linux 下,建立/lx 文件夹,/lx/文件夹下建立文件input.txt, 内容如 下:注意,数据之间的分隔符使用Tab键输入#vi /lx/in put.txtn赵刚19天津n
2、张强21南京n苏彤彤18北京n徐志林19南京n刘海20福州存盘退出2、连接和断开数据库连接数据库#mysql -h主机IP地址-u用户名 -p输入该用户密码,如果连接成功,出现以下提示符:mysql断开数据库mysqlquit(或 exit);#五、实验内容及步骤1、在客户端以adminroot用户登录数据库服务器#mysql -h 数据库服务器的IP地址-u adminroot -p输入密码:mysql出现mysql提示符,说明登录数据库服务器成功。建立如下用户并授予相应的权限:(1)建立用户useradmin序号,具有对数据库sydata序号操作的所有权限,密码为123,登录的主机为任意客
3、户端mysqlgra nt all on sydata 序号.* to useradm in 序号 % ide ntified by 123;(2)建立用户isuser序号,具有对数据库sydata序号插入,检索权限,密码为序号.* to isuser 序号 %234,登录的主机为任意客户端 mysqlgra nt in sert,select on sydata identified by 234;(3)建立用户ususer序号,具有对数据库sydata序号更新,检索权限,密码为345,登录的主机为任意客户端序号.* to ususer 序号 %序号.* to sduser 序号 %mysq
4、lgra nt update,select on sydata ide ntified by 345;建立用户sduser序号,具有对数据库sydata序号删除,检索权限,密码为456,登录的主机为任意客户端 mysqlgra nt delete,select on sydata ide ntified by 456;mysqlexit; / 退出数据库2、在客户端以useradmin序号用户登录数据库服务器,创建数据库sydata序 号,在该数据库中建立表sytable,表列为id:i nt(3), name:char(6),age:i nt(2),addr:varchar(50).其中id
5、为主键,不能为空并且为自动增一,name和age不能为空,addr缺省值为 大连市.(1)登录数据服务器#mysql -h 数据库服务器的IP地址-u useradmin 序号-p 输入密码mysql出现mysql提示符,说明登录数据库服务器成功创建数据库sydata序号,并在其中创建表sytable mysqlcreate database sydata 序号;/ 仓U建数据库 mysqlshow databases; / 显示数据库mysqlcreate table sytable (id int(3) auto_increment not null primarykey ,n ame c
6、har(6) not n ull,age in t(2) not n ull,addr varchar(50) default 大连市);/ 创建表建立成功后,查询表sytable结构mysqldescribe sytable; / 查询表结构如果正确,转向步骤(3);如果不正确,要修改表sytable结构,使其满足题中的要求mysqlalter table sytable 修改的字段;mysqlexit;3、在客户端以isuser序号用户登录数据库服务器,向表sytable中插入二条记录,(李红,20,沈阳市),(王燕,19,上海市)#mysql -h 数据库服务器的IP地址-u isuse
7、r 序号-p输入密码mysqlmysqluse sydata 序号; /mysql in sert into sytable (n ame,age,addr) values(打开数据库李红,20,沈阳市);/向表插入记录mysql in sert into sytable (n ame,age,addr) values(王燕,19,上海市);mysqlselect * from sytable; /查看表信息成批向表sytable中添加记录mysqlload data local in file /lx/i nput.txt i nto table sytable;/成批向表插入记录查看结果是
8、否正确,如果不正确,查找原因,如果需要删除表sytable中的记录,需要使用sduser序号登录数据库,使用delete from sytable where 条件. mysqlexit;4、在客户端以ususer序号用户登录数据库服务器,将表sytable中姓名为苏 彤彤的改为苏丹丹#mysql -h 数据库服务器的IP地址-u ususer 序号-p输入密码mysqlmysqluse sydata序号;/ 打开数据库mysqlupdate sytable set name= 苏丹丹where name= 苏彤彤;/ 更新表记录mysqlselect * from sytable; / 查看
9、表记录查看结果是否正确,如果不正确,查找原因,进行修改mysqlexit;5、在客户端以sduser序号用户登录数据库服务器,将表sytable中地址为南京的记录删除#mysql -h 数据库服务器的IP地址-u sduser 序号-p输入密码mysqlmysqluse sydata序号;/ 打开数据库mysqldelete from sytable where addr= 南京;/ 删除表中符合条件的记录查看结果是否正确,如果不正确,查找原因,进行修改mysqlexit;6在客户端以isuser序号用户登录数据库服务器#mysql -h 数据库服务器的IP地址-u isuser 序号-p输入
10、密码mysqlmysqluse sydata序号;/ 打开数据库mysqlcreate table xx; / 新建表结果是什么?mysqlupdate sytable set name= 赵冈where name= 赵彤彤;结果是什么?mysqldelete from sytable where age=19;查看结果?最后的结论是什么?同样以ususer序号用户登录数据库服务器,验证是否有建立,插入,删除权限;以sduser序号用户登录数据库服务器,验证是否有建立,插入,更新权限;mysqlexit;7、在客户端以adminroot用户登录数据库服务器#mysql -h 数据库服务器的IP
11、地址-u adminroot -p输入密码mysql收回用户sduser序号的删除权限mysqlrevoke delete on sydata 序号 * from sduser 序号%;在客户端以sduser序号用户登录数据库服务器#mysql -h 数据库服务器的IP地址-u sduser 序号-p输入密码:mysqlmysqluse sydata序号;/ 打开数据库mysqldelete from sytable; / 删除表中所有记录结果是什么?结论是什么?mysqlexit;8、导出/导入数据库(1)数据库的导出在客户端#mysqldump -h数据库服务器的IP地址-u sduser
12、 序号-p sydata 序号/lx/sydatabak.sql / 数据库的导出输入用户sduser序号的密码(2)数据库的导入在客户端以adminroot用户登录数据库服务器,创建数据库sydata序号+2#mysql -h 数据库服务器的IP地址-u adminroot -p输入密码mysqlmysqlcreate database sydata 序号 +2; / 创建数据库 sydata 序号 +2mysqluse sydata序号+2; / 打开数据库mysqlsource /lx/sydatabak.sql / 数据库的导入显示表中的数据mysqlselect * from syt
13、able; / mysqlexit;9、删除数据库及用户在客户端以adminroot用户登录数据库服务器#mysql -h 数据库服务器的IP地址-u adminroot -p输入密码mysql(1)删除数据库mysqldrop database sydata 序号;/ 删除数据库mysqldrop database sydata 序号 +2;mysqlshow databases; / 显示数据库查看结果,是否删除数据库sydata序号及sydata序号+2(2)删除用户 useradmin 序号,isuser 序号,ususer 序号,sduser 序号 mysqlexit;mysqlus
14、e mysql;mysqldelete from user where user=useradm in useradmin 序号mysqldelete from user where user=isuser号mysqldelete from user where user=ususer号mysqldelete from user where user=sduser号mysqlflush privileges; /序号;删除用户序号;删除用户isuser序序号;删除用户ususer序序号;删除用户aduser序刷新权限表10、 在客户端,验证以用户名useradmin序号,isuser 序号,ususer序号,sduser 序号登录数据库服务器,是否能登录成功11、 在客户端删除/lx文件夹#rm -rf /lx