2022秋季-数据库运维

第1章 数据库运维概述

本章自测-答案

一、单选题
1.数据库系统的核心是( C)。
单选题 (1 分) 1分
 A.数据库
 B.数据库管理员
 C.数据库管理系统
 D.计算机软硬件系统
2.以下不属于数据库特点的是( B)。
单选题 (1 分) 1分
 A.数据共享
 B.数据冗余度高
 C.数据完整性高
 D.数据独立性高
3.哪个选项是用来创建和修改数据库结构的( A)。
单选题 (1 分) 1分
 A.DDL
 B.DML
 C.DCL
 D.DQL
4.数据库中数据的逻辑独立性是指( D)。
单选题 (1 分) 1分
 A.数据与储存结构的逻辑相互独立
 B.数据元素之间的逻辑相互独立
 C.存储结构与物理结构的逻辑相互独立
 D.数据与程序之间的逻辑相互独立
5.要保证数据库的数据独立性,需要修改的是(C )。
单选题 (1 分) 1分
 A.模式与外模式
 B.模式与内模式
 C.三级模式之间的两层映射
 D.三层模式
6.在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这是(C )人员的职责。
单选题 (1 分) 1分
 A.数据库设计员
 B.应用程序员
 C.数据库管理员
 D.系统分析员
7.MySQL数据库运维中系统高可用性,其中年度可服务时间比例“5个9”,其年度停机时间大约为(C )。
单选题 (1 分) 1分
 A.87.6h
 B.8.8h
 C.5min
 D.<1min
8.mysqladmin为用户root设置密码的语句( C)。
单选题 (1 分) 1分
 A.mysql -uroot -Ppassword -e"set passowrd for root=passowrd('passowrd') "
 B.mysql -uroot -ppassword -e"set passowrd for root=passowrd('passowrd') "
 C.mysqladmin -uroot passowrd "NEWPASSWORD"
 D.mysqladmin -uroot -ppassowrd "NEWPASSWORD"
9.mysqladmin command参数中删除一个库的参数是( B)。
单选题 (1 分) 1分
 A.delete[DB_NAME]
 B.drop[DB_NAME]
 C.drop database [DB_NAME]
 D.delete database [DB_NAME]
10.mysqlbinlog中使用参数(A )可以打开指定库的binlog文件。
单选题 (1 分) 1分
 A.-d
 B.-r
 C.-h
 D.-u
11.MySQL可视化管理工具MySQL GUI Tools中方便数据库迁移的图形化应用程序是( B)。
单选题 (1 分) 1分
 A.MySQL Administrator
 B.MySQL Migration Toolkit
 C.MySQL Query Browser
 D.MySQL Workbench
二、多选题
12.广义上来说,属于数据的可以是( ABCD)。
多选题 (1 分) 1分
 A.数字
 B.文本
 C.图像
 D.音频
13.数据实现集中控制,包括( ABC)。
多选题 (1 分) 1分
 A.安全性控制
 B.完整性控制
 C.并发控制
 D.稳定性控制
14.数据库管理系统的主要功能包括( ABCD)。
多选题 (1 分) 1分
 A.数据定义功能
 B.数据操作功能
 C.数据库的运行管理
 D.数据库的建立和维护
15.以下属于数据库系统运维的主要内容的是( ABCD)。
多选题 (1 分) 1分
 A.数据库安装与配置
 B.数据库安全性管理
 C.数据库备份与恢复
 D.预防性巡检
16.数据库系统日常的运维管理中包括日维护作业计划, 以下属于日维护作业计划的是( AB)。
多选题 (1 分) 1分
 A.检查数据库网络连通与否
 B.检查磁盘空间的使用情况,监视数据库的表空间利用率
 C.对数据库的主要配置文件及参数进行检测、调整及备份
 D.收集数据库性能统计数据,检查高速缓存区命中率、资源争用统计信息
17.以下是MySQL数据库运维的指标的是( ACD)。
多选题 (1 分) 1分
 A.数据可恢复性
 B.数据可备份性
 C.系统高可用性
 D.成本问题
三、综合题
18.试述数据库系统的组成。
简答题 (1 分)
数据库系统一般由数据库、数据库管理系统〔及其开发工具、应用系统、数据库管理员和用户构成.

19.MySQL数据库运维的五大指标具体是什么?
简答题 (1 分)
MySQL数据库运维的五大指标:数据可恢复、系统高可用、快速响应、低成本、运维人员幸福指数高。

20.  写出5条使用mysqladmin 命令行工具的语句。
简答题 (1 分)
0)每个两秒查看一次服务器的状态,总共重复5次。

[root@test-huanqiu ~]# mysqladmin -uroot -p -i 2 -c 5 status
1)查看服务器的状况:status
[root@test-huanqiu ~]# mysqladmin -uroot -p status
2)修改root 密码:
[root@test-huanqiu ~]# mysqladmin -u root -p原密码 password 'newpassword'
3)检查mysqlserver是否可用:
[root@test-huanqiu ~]# mysqladmin -uroot -p ping
4)查询服务器的版本
[root@test-huanqiu ~]# mysqladmin -uroot -p version

第2章 数据库服务器管理与配置

本章自测-答案

一、单选题
1.MySQL使用的默认端口是( B)。
单选题 (1 分) 1分
 A.3600
 B.3306
 C.8080
 D.3366
2.连接MySQL服务器的指令是( C)。
单选题 (1 分) 1分
 A.mysqladmin -u root password test
 B.mysql -u root password test
 C.mysql -u root -p test
 D.mysql -u root -password test
3.下面哪个是MySQL客户端程序的功能?( A)
单选题 (1 分) 1分
 A.创建、删除、修改表和索引
 B.使用shutdown命令关闭服务器
 C.使用start backup命令来进行数据库二进制备份
 D.查询数据库日志文件信息
4.MySQL服务器的存储引擎中支持事务处理、支持外键、支持崩溃修复能力和并发控制的存储引擎是(A)。
单选题 (1 分) 1分
 A.InnoDB
 B.MyISAM
 C.Memory
 D.NDB
5.SQL标准中事务的四种隔离级,MySQL数据库的InnoDB存储引擎中默认采用的是( C)。
单选题 (1 分) 1分
 A.未提交读(Read Uncommitted)
 B.提交读(Read Committed)
 C.可重复读(Repeatable Read)
 D.可串行化(Serializable)
6.在MySQL数据库中,InnoDB无法向MyISAM表一样,直接将表定义文件*.frm和*.ibd复制到另一个库中的原因是( B)。
单选题 (1 分) 1分
 A.InnoDB的锁机制是行机制
 B.InnoDB系统表空间文件ibdata1中存放着回滚段、所有的InnoDB表元数据信息等部分元数据信息
 C.InnoDB的表定义文件与MyISAM表定义文件不同
 D.InnoDB复制过程中日志文件无法复制
7.MySQL数据库中,关于作为临时存放查询的中间结果集的存储引擎描述正确的是( C)。
单选题 (1 分) 1分
 A.始终使用Memory作为临时存放查询的中间结果集
 B.默认使用InnoDB作为临时存放查询的中间结果集
 C.如果中间结果集含有TEXT或BLOB列的类型字段,则MySQL数据库会将其转换到MyISAM存储引擎表而存放到磁盘中
 D.默认使用MyISAM作为临时存放查询的中间结果集
8.MySQL数据库通过命令行参数和配置文件来获得配置信息,查看当前使用的配置文件路径的DOS命令是(B )。
单选题 (1 分) 1分
 A.select@@basedir
 B.select @@datadir
 C.mysql-verbose-help
 D.select @@my.ini
9.MySQL数据库中创建表并指定MyISAM存储引擎的语句是( D)。
单选题 (1 分) 1分
 A.Create table t_myisam(id int(10) auto_increment, name varchar(10), age int(3), primary key (id)) ;
 B.Create table t_myisam(id int(10) auto_increment, name varchar(10), age int(3), primary key (id)) set engine = MyISAM;
 C.Create table t_myisam(id int(10) auto_increment, name varchar(10), age int(3), primary key (id)), MyISAM;
 D.Create table t_myisam(id int(10) auto_increment, name varchar(10), age int(3), primary key (id)) engine = MyISAM;
10.在配置MySQL服务器时缓存池的大小设置,下面正确的是( C)。
单选题 (1 分) 1分
 A.缓冲池大小可以设置的很大,以保证数据库的性能
 B.缓冲池的大小设置为系统内存剩余空间最好
 C.缓冲池的配置,不仅要兼顾系统中其他程序使用的内存空间,还要减去其他配置的MySQL缓存和缓存需要的内存空间
 D.缓冲池大小的设置对性能产生很大的影响,所以要设置成最大
11.MySQL内部有4种常见日志, 哪种日志是不能直接cat或more文件查阅日志内容( B)。
单选题 (1 分) 1分
 A.错误日志(error-log)
 B.二进制日志(bin-log)
 C.查询日志(query-log)
 D.慢查询日志(slow-log)
12.MYSQL中,下列关于慢查询日志描述正确的是( B)。
单选题 (1 分) 1分
 A.慢查询日志不仅记录执行慢的查询,而且会将所有执行的查询语句都记录下来
 B.在通过环境变量开启慢查询日志时,slow_query_log针对当前登录的连接实时生效
 C.在通过环境变量开启慢查询日志时,long_query_time针对当前连接生效(query-log)
 D.慢查询文件已.ini格式的文件格式存储
二、多选题
13.在mySQL数据库中,数据库文件的扩展名包括( ACD)。
多选题 (1 分) 1分
 A..exe
 B..myi
 C..ibd
 D..frm
14.MySQL数据库中,存储引擎InnoDB的功能特点有( ABC)。
多选题 (1 分) 1分
 A.支持事务的提交和回滚
 B.崩溃修复能力
 C.并发控制
 D.数据可压缩
15.MySQL数据库中,关于Memory存储引擎描述正确的是( ABD)。
多选题 (1 分) 1分
 A.默认使用哈希索引
 B.MySQL使用Memory存储引擎作为临时表来存放查询的中间结果集
 C.支持外键和事务处理
 D.将表中数据存放在内存中
16.MySQL 中,下面可以查看Country表的存储引擎的是( ACD)。
多选题 (1 分) 1分
 A.SHOW CREATE TABLE Country;
 B.SHOW ENGINE Country STATUS;
 C.SHOW TABLE STATUS LIKE ‘Country’;
 D.SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ‘Country’;
17.MySQL中,对二进制文件的功能描述正确的是( AB)。
多选题 (1 分) 1分
 A.主从数据库通过二进制文件的传递达到主从同步目的
 B.二进制文件可用于数据恢复,通过应用二进制日志文件,能够将数据库恢复到故障发生前的状态
 C.数据库运行过程中的错误信息,也会被记录到二进制文件中,以便数据库恢复正常
 D.二进制文件中记录了数据库查询语句以及其运行时间,可用于服务器性能的优化
18.关于临时表的描述正确的是( ABCD)。
多选题 (1 分) 1分
 A.只在创建的会话可见,其它会话不能访问另一个会话创建的临时表
 B.临时表只存在于会话生命周期中
 C.临时表可以与非临时表有相同的名称
 D.临时表不能使用SHOW TABLES显示
19.关于MySQL服务器内存管理叙述正确的是(ABC)。
多选题 (1 分) 1分
 A.MySQL数据库的内存从使用方式上主要分为以下两类:线程独享内存(Thread memory)和全局共享内存(Sharing)
 B.线程独享内存主要用于各客户端连接线程存储各种操作的独享数据
 C.全局共享内存主要是MySQL实例(mysqld进程)以及底层存储引擎用来暂存各种全局运算及可共享的暂存信息
 D.全局共享内存包括thread_stack、sort_buffer_size等
三、综合题
20.请陈述MySQL服务器中,数据库和数据库实例的概念。
简答题 (1 分)
数据库:

顾名思义,数据库,就是保存数据的仓库,具体到mysql中,数据库其实是一系列数据文件集合。这些数据文件以特定的格式,记录了你想要的数据,并保存在你的服务器的某个目录上。在mysql的配置文件my.cnf中,datadir的选项就是对应的数据库文件存放的目录。在mysql,这些数据库文件以frm、idb等为后缀。这些文件集后到一起,便组成了一个数据库。

数据库实例:

那什么是数据库实例呢?简单讲,数据库实例就是访问数据库的应用程序。在Mysql中,就是mysqld进程了。我们要想对数据库文件进行增、删、查、改的操作,直接通过文件系统操作数据库文件是不可能的,也是不允许的。这就需要数据库实例的帮助。数据库实例这个应用程序实现了对数据库操作的封装,同时也实现了SQL语言的解析,让用户用SQL语言这种简单直接的方式去操作数据库的内容。
21.登记日志文件时为什么必须先写日志文件,后写数据库?
简答题 (1 分)
先写日志文件为保证数据库的可恢复性,日志文件能够用来进行事务故障恢复、系统故障恢复,并能够协助后备副本进行介质故障恢复。当数据库文件毁坏后,可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,再利用建立的日志文件,可以把已完成的事务进行重做处理,而对于故障发生时尚未完成的事务则进行撤消处理,这样不用运行应用程序就可把数据库恢复到故障前某一时刻的正确状态。

22.如何为InnoDB存储引擎配置合理大小的缓冲池?并举例说明。
简答题 (1 分)
 InnoDB维护一个称为缓冲池的内存存储区域 ,用于缓存内存中的数据和索引。了解InnoDB缓冲池的工作原理,并利用它来保存内存中经常访问的数据,这是MySQL调优的一个重要方面。

第3章 MySQL数据库对象管理

本章自测-答案

一、单选题
1.视图建立后,在数据字典中存放的是(  A)
单选题 (1 分) 1分
 A.视图的定义
 B.产生视图的表的定义
 C.查询语句
 D.组成视图的表的内容
2.查找数据库中所有的数据表用以下哪一项(  B)
单选题 (1 分) 1分
 A.SHOW DATABASE
 B.SHOW TABLES
 C.SHOW DATABASES
 D.SHOW TABLE
3.创建数据库的命令是( A)
单选题 (1 分) 1分
 A.CREATE DATABASE
 B.NEW DATABASE
 C.CREATE DATABASES
 D.NEW DATABASES

4.以下关于聚集索引和非聚集索引说法正确的是(  B)
单选题 (1 分) 1分
 A.每个表只能建立一个非聚集索引
 B.每个表只能建立一个聚集索引
 C.一个表上不能同时建立聚集索引和非聚集索引
 D.以上都不对
5.在视图上不能完成的操作是(  C)
单选题 (1 分) 1分
 A.更新视图
 B.查询
 C.在视图上定义新的表
 D.在视图上定义新的视图
6.若要在基本表中添加一列CNAME(课程名),可用(  C)
单选题 (1 分) 1分
 A.ADD TABLE S (CNAME CHAR(8))
 B.ADD TABLE S ALTER (CNAME CHAR(8))
 C.ALTER TABLE S ADD (CNAME CHAR(8))
 D.ALTER TABLE S (ADD CNAME CHAR(8))
7.在关系数据库中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是(  D)
单选题 (1 分) 1分
 A.另一个表
 B.游标
 C.索引
 D.视图
8.关于索引正确的说法是( B )
单选题 (1 分) 1分
 A.使用索引可以提高数据查询速度和数据更新速度
 B.使用索引可以提高数据查询速度,但会降低数据更新速度
 C.使用索引可以提高数据查询速度,对数据更新没有影响
 D.使用索引对数据查询速度和数据更新速度都没有影响
9.以下表示可变长度字符串的数据类型是( B )
单选题 (1 分) 1分
 A.CHAR
 B.VARCHAR
 C.TEXT
 D.BLOB
10.下列关于数据库对象的描述,错误的是( D )
单选题 (1 分) 1分
 A.存储过程、函数均可接收输入参数
 B.触发器可以在数据更新时被激活
 C.域可以由用户创建,可以加约束条件
 D.一个关系可以有多个主码
二、多选题
11.在MySQL数据库中,下列关于创建数据库表的描述不正确的是( ABD )
多选题 (1 分) 1分
 A.在创建表时必须设定列的约束
 B.在删除表的时候通过外键约束连接在一起的表会被一同删除
 C.在创建表时必须设置列类型
 D.通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中
12.MySQL中可以创建的索引有( ABCD )
多选题 (1 分) 1分
 A.聚簇索引
 B.普通索引
 C.主键索引
 D.全文索引
13.关于临时表的描述正确的是( ABCD )
多选题 (1 分) 1分
 A.只在创建的会话可见,其它会话不能访问另一个会话创建的临时表
 B.临时表只存在于会话生命周期中
 C.临时表可以与非临时表有相同的名称
 D.临时表不能使用SHOW TABLES显示
14.创建唯一性索引的方法有( AB )
多选题 (1 分) 1分
 A.设置主键约束
 B.CREATE INDEX
 C.设置非空约束
 D.CREATE TABLE
15.更新视图是指通过视图对数据进行( ABC )操作
多选题 (1 分) 1分
 A.插入
 B.删除
 C.修改
 D.查询
三、综合题
16.
图书管理系统中有book表, book(bookid, bookname, authors, info, comment, year_publication);


(1) 给book表的bookname字段添加索引
简答题 (1 分)
create index name_book on book(name(20));

17.(2)在book表的bookid字段上建立名称为id_idx的唯一索引
简答题 (1 分)
CREATE UNIQUE INDEX id_idx ON book(bookid(length));

18.(3)在book表的info和authors字段上创建组合索引
简答题 (1 分)
create index id_idx  on book (info,authors);

19.(4)在book表的info字段上建立全文索引
简答题 (1 分)
CREATE FULLTEXT INDEX book ON articles (info) WITH PARSER ngram;

第4章 数据库安全性与完整性控制

本章自测-答案

一、单选题
1.关于自主访问控制,下列说法错误的是( D)。
单选题 (1 分) 1分
 A.S表示主体,即操作用户
 B.O表示客体,即数据
 C.M表示数据库基本的查询、修改、添加、删除等操作
 D.P元素用来表示操作语句具体内容
2.权限表中User表的作用是(  D)。
单选题 (1 分) 1分
 A.存储用户对某数据库的操作权限
 B.存储了某主机对数据库操作的权限
 C.表示存储过程和存储函数操作权限约束
 D.记录允许连接到服务器的账号信息和与账号信息对应的权限规范
3.以下哪个命令是使用超级管理员身份创建普通账户( D)
单选题 (1 分) 1分
 A.create user username@localhost identified by 123456
 B.create user ‘username’@ ‘localhost’ identified by 123456
 C.create user username@localhost identified by ‘123456’
 D.create user ‘username’@‘localhost’ identified by ‘123456’
4.下列Mysql权限表中,只存在用户列和权限列,对表级别设置权限的是 (B )。
单选题 (1 分) 1分
 A.columns_priv权限表
 B.table_priv权限表
 C.db权限表
 D.procs_priv权限表
5.使用grant select on table.* to username@localhost语句时如果table不存在会如何响应( C)
单选题 (1 分) 1分
 A.显示请选择其他数据库
 B.显示查询成功并创建表
 C.只显示查询成功
 D.显示表不存在请重新查询
6.用于控制用户对数据库表建立或删除索引的权限为(B )。
单选题 (1 分) 1分
 A.select权限
 B.index权限
 C.alter权限
 D.create权限
7.
例如数据库中有grade表,包括学生,学科,成绩 ,序号四个字段 , 数据库结构为
学生     学科     成绩 序号
张三     语文     60      1
张三     数学     100    2
李四     语文     70      3
李四     数学     80      4
李四     英语     80      5
上述哪一列可作为主键列(  A)
单选题 (1 分) 1分
 A.序号
 B.成绩
 C.学科
 D.学生
8.下列属于数据层级操作权限的是( A)。
单选题 (1 分) 1分
 A.select权限、insert权限、update权限、delete权限
 B.select权限、index权限、update权限、alter权限
 C.select权限、drop权限、update权限、grant权限
 D.select权限、index权限、create权限、delete权限
9.MySQL权限系统对用户可操作行为的认证说法不正确的是(  B)。
单选题 (1 分) 1分
 A.需要通过用户名密码以及IP与数据库记录相匹配
 B.如果用户名和密码都匹配,IP不匹配,用户仍可继续访问
 C.需要对通过验证的用户进行权限匹配,赋予其应有权限
 D.不同IP登入的用户,同名用户属于不同的身份
10.关于限制MySQL账户资源次数,表示限定每小时内该用户账户向MySQL服务器发送查询语句或者mysql命令的最大允许次数的是( A)。
单选题 (1 分) 1分
 A.max_questions
 B.max_updates
 C.max_updates
 D.max_user_connections
11.Mysql权限层级中用户层级相当于( A)。
单选题 (1 分) 1分
 A.全局层级
 B.数据层级
 C.子程序层级
 D.列层级
12.为数据表创建索引的目的是( A )。
单选题 (1 分) 1分
 A.提高查询的检索性能
 B.归类
 C.创建唯一索引
 D.创建主键
13.假定登录用户只有GRANT权限,username3@localhost不存在,执行语句:“GRANT SELECT ON *.* TO username3@localhost IDENTIFIED BY ‘123456’ WITH GRANT OPTION;”时,Mysql如何反应(  A)。
单选题 (1 分) 1分
 A.操作被拒绝
 B.操作被接受并创建username3@localhost用户
 C.操作被接受但不执行任何改变
 D.操作被拒绝并创建username3@localhost用户
二、多选题
14.MySQL中,在某表内除主键以外的某一列,每一元组该列的取值都是唯一的约束类型为( BD)。
多选题 (1 分) 1分
 A.主键完整性约束
 B.唯一索引约束
 C.完整性约束
 D.替代键约束
15.MySQL服务器安装时,自动建立两个数据库,首先是mysql数据库,该数据库是MySQL权限系统的核心,包含以下哪几个表:( ABD)。
多选题 (1 分) 1分
 A.user表
 B.db表
 C.procs_priv表
 D.tables_priv表
16.MySQL修改root用户密码的语法为( ACD )。
多选题 (1 分) 1分
 A.mysqladmin –u user_name –h host_name –ppassword “new_password”;
 B.INSERT INTO mysql.user (password,root,hostname) VALUES (PASSWORD(‘rootpassword’),”root”,”hostname”);
 C.SET PASSWORD=PASSWORD('rootpassword');
 D.UPDATE mysql.user SET password=PASSWORD('rootpassword') WHERE user=”root” and host=”host_name”;
17.下列对 MySQL唯一索引约束描述正确的是( ABC)。
多选题 (1 分) 1分
 A.指的是在某表内除主键以外的某一列,每一元组该列的取值都是唯一的
 B.可以当作没有被选作主键的候选键
 C.UNIQUE子句来定义唯一索引约束
 D.存在主键时唯一索引约束定义列可重复
18.关于外键说法正确的是( AB)。
多选题 (1 分) 1分
 A.在一个数据表中定义了外键后,数据库系统会保证插入外键中的每一个非空值都在被参照表当中作为主键出现
 B.使用RESTRICT动作时,将待插入的记录值相应外键字段改成其所参照表中不存在的数据值,插入操作会被数据库拒绝
 C.使用SET DEFAULT动作时,从所参照父表删除或更新行时,删除在参照子表中对应的该外键值对应行或者对该行外键作同样的修改
 D.使用CASCADE动作时,当所参照父表中试图删除某行或对外键列某行数据值进行更新,参照子表中不作任何反应动作
19.用户自定义完整性约束包括以下哪几种约束(  ABD)。
多选题 (1 分) 1分
 A.元组约束
 B.关系间约束
 C.替代键约束
 D.域约束
20.关于MySQL列约束的下列描述中正确的有( BD)。
多选题 (1 分) 0分
 A.主键约束会影响表的查找操作执行效率,应当谨慎使用
 B.外键约束会影响表的插入操作执行效率,应当谨慎使用
 C.一个表可以声明多个主键列
 D.一个表可以声明多个外键列
三、综合题
21.
登录root账户创建普通账户并给普通账户授权:


(1)创建一个密码为“123456”的普通用户账户“databasenormal”;
简答题 (1 分)
create user ‘databasenormal’@’localhost’ identified by ‘123456’;

22.(2)创建名为student的数据库
简答题 (1 分)
create databases tudent;

23.(3)创建名为student2的表,包括stuno(学号列)、stubir(生日列)、age(年龄列),并设置主键为stuno
简答题 (1 分)
CREATE student2 (stuno char(50),

stubir char(4),

age int
);
24.(4)使用grant命令对其进行student 数据库的student2的表的stuno列的select操作授权;
简答题 (1 分)
grant select(stuno)on student.student2 todatab

25.(5)查看mysql数据库下user表中该用户的条目
简答题 (1 分)
select * from user where User='databasenormal'

26.(6)查看mysql数据库下table_priv表中该用户条目
简答题 (1 分)
select * from table_priv where User='databasen'

27.(7)查看mysql数据库下columns_priv表中该用户条目
简答题 (1 分)
select * from columns_priv where User='databas'

第5章 数据库备份与恢复

本章自测-答案

一、单选题
1.下面关于写日志优先准则描述正确的是( C)。
单选题 (1 分) 1分
 A.当数据库执行更新操作时,先把写日志和更新数据库同时进行
 B.当数据库执行更新操作时,先更新数据库,然后再将更新信息写进日志
 C.当数据库执行更新操作时,先把更新信息写进日志,然后更新数据库
 D.当数据库执行更新操作时,先把更新信息写进日志,然后更新缓冲区
2.数据库中缓冲区写入磁盘使用的算法是( D)。
单选题 (1 分) 1分
 A.FIFO
 B.LFU
 C.ARC
 D.LRU
3.适用通配符查看名称包含dir的系统变量的值 (  B)。
单选题 (1 分) 1分
 A.show variables like ‘dir’
 B.show variables like ‘%dir%’
 C.show variables like ‘%dir’
 D.show variables like ‘_dir_’
4.select…into outfile语句中用于指定字段值之间符号的子句是 ( B)。
单选题 (1 分) 1分
 A.lines terminated by
 B.fileds terminated by
 C.fileds enclosed by
 D.fileds escaped by
5.下面关于mysqldump命令使用正确的是( A )。
单选题 (1 分) 1分
 A.mysqldump -uroot -p123456 --databases employees test> file.sql
 B.mysqldump -uroot -p123456 -databases employees test> file.sql
 C.mysqldump -uroot -p123456 -database employee >file.sql
 D.mysqldump -uroot -p123456 --all -databases >file.sql
6.远程执行mysqldump命令的界定格式进行备份,那么 ( C)。
单选题 (1 分) 1分
 A..sql文件和.txt文件都在client端
 B..sql文件和.txt文件都在server端
 C..sql文件记录在client端,.txt 文件记录在server端
 D..sql文件记录在server端,.txt 文件记录在client端
7.设置日志清理时间为5天的命令正确的是 (  D)。
单选题 (1 分) 1分
 A.set expire_logs_days=120
 B.set global expire_logs_days=120
 C.set expire_logs_days=5
 D.set global expire_logs_days=5
8.使用load data …infile命令后报错“Data truncated for colum …”,出现的原因可能是( B)。
单选题 (1 分) 1分
 A.插入数据的过程中违反了唯一性约束
 B.数据存储的文件中列的类型与数据库中表的类型不一致
 C.数据存储的文件中的主键值数据库中已经存在
 D.数据存储的文件中部分字段存在NULL值
9.在进行InnoDB崩溃恢复的过程中,希望在恢复过程中不执行插入缓冲的合并操作,那么innodb_force_recovery参数的值应该设置为( B)。
单选题 (1 分) 1分
 A.3
 B.4
 C.5
 D.6
10.对于不同存储引擎的数据表的描述错误的是( C)。
单选题 (1 分) 1分
 A.MyISAM存储引擎不支持事务和行级锁
 B.InnoDB存储引擎的数据表
 C.MySQL中的存储引擎都不支持并发插入
 D.Memory存储引擎支持内存表的实现
11.MySQL中,可以用于备份数据库的命令是(  B)。
单选题 (1 分) 1分
 A.mysqlimport
 B.mysqldump
 C.mysql
 D.copy
12.下面关于mysqldump备份特性中说法错误的是(  B)。
单选题 (1 分) 1分
 A.是逻辑备份,需将表结构和数据转换称SQL语句
 B.备份与恢复速度比物理备份快
 C.mysql服务必须运行
 D.支持MySQL所有存储引擎
二、多选题
13.事务故障的恢复的步骤包括(  BC)。
多选题 (1 分) 1分
 A.正向扫描日志文件,建立撤销队列和重做队列
 B.反向扫描日志文件,查找此事务的更新操作
 C.对事务的更新操作执行逆操作
 D.分别对撤销队列和重做队列执行相应的操作
14.下列关于查看MySQL二进制日志文件的命令正确的是(  CD)。
多选题 (1 分) 1分
 A.select binary logs
 B.select master logs
 C.show binary logs
 D.show master logs
15.关于文件系统冷备份的说法正确的是( ACD )。
多选题 (1 分) 1分
 A.文件系统冷备份就是直接使用操作系统提供的命令对文件进行拷贝
 B.文件系统冷备份只需要拷贝相关的数据文件即可
 C.对于InnoDB存储引擎的数据表中的数据文件包含在根目录下的ibdata*文件中,在文件系统冷备份过程中需要拷贝此文件
 D.要备份只有MyISAM存储引擎的数据库,只需要复制数据库对应名称的目录下的数据文件,不需要复制ibdata*文件
16.关于load data infile命令和mysqlimport命令的说法正确的是( BCD)。
多选题 (1 分) 1分
 A.mysqlimport支持SQL文件的导入
 B.mysqlimport本质上是load data infile的命令接口
 C.mysqlimport可以导入多张表
 D.两种方法都可以导入select…into outfile导出的文件
17.关于InnoDB崩溃恢复说法正确的是( ABC)。
多选题 (1 分) 1分
 A.InnoDB崩溃恢复借助于InnoDB引擎的Redo和Undo日志
 B.InnoDB的恢复过程是在MySQL线程中进行的
 C.多数情况下,InnoDB会自觉地执行线程恢复
 D.发生系统故障后,仍然能够执行InnoDB崩溃恢复
三、综合题
18.
系统管理员维护了一个远程服务器的数据库ED,数据库中有多张表,表的创建语句为:


create table employees(


    emp_no int(11) primary key,


    birth_date date,


    first_name varchar(14),


    last_name varchar(16),


    gender enum(‘M’,’F’),


    hire_date date);


create table departments(


    dept_no char(4) primary key,


    dept_name varchar(40));


其中连接数据库的用户名为root,密码为123456。


(1)2019年5月15日对数据库ED进行备份,其命令为
简答题 (1 分)
mysal dump-uroot-p123456ed<ed.sal

19.(2)2019年5月16日上午10:00误操作删除数据库ed中的数据表employees,语句为
简答题 (1 分)
droptableemployees

20.(3)之后,又向数据库departments中插入两条数据。
简答题 (1 分)
insertintotabledepartmentsvalues('0001’,数据部门’);

insertintotabledepartmentsvalues('0002’,人力资源’);
21. (4)此时数据库中只有一个二进制日志文件mysql-bin.000001,此时利用(2)的备份文件以及二进制文件还原表和数据,需要执行的操作是
简答题 (1 分)
sourceed.sql

mysqlbinlog--stop-datetime="2019-05-169:59:59"mysgl-bin.000001>file.sglJ
sourcefile.sgl

mysglbinlog--start-datetime="2018-10-
1610:00:00"mysgl-bin.000001>file2.sqh

sourcefile2.sgl

第6章 数据库性能监视与优化

本章自测-答案

一、单选题
1.连接到MyTop的命令是(  C)。
单选题 (1 分) 1分
 A.Mytop -u root password test
 B.Mytop -user root password test
 C.mytop -u root -p test -d database
 D.mytop u root -password test
2.关于连接检查指标以下说法错误的是( C)。
单选题 (1 分) 1分
 A.Aborted_connects表示连接失败的次数
 B.Threads_running表示运行连接数量
 C.Connection_errors_internal表示超出最大限制而失败的连接数
 D.Threads_connected表示当前连接数量
3.MySQL默认的存储引擎为(  C)。
单选题 (1 分) 1分
 A.MyISAM
 B.MEMORY
 C.InnoDB
 D.FEDERATED
4.以下哪个数据库保存所有的临时表和临时存储过程( A)。
单选题 (1 分) 1分
 A.tempdb数据库
 B.master数据库
 C.model数据库
 D.msdb数据库
5.以下关于数据库性监视,错误的说法是( A)。
单选题 (1 分) 1分
 A.数据库性能监视不仅要监视MySQL当前的状态,还需监视OS的状态
 B.Nagios可以监视操作系统的状态
 C.监视工具可以分为非交互性和交互性
 D.Innotop和MyTop属于非交互性监视工具
6.MySQL支持以下哪种情况的子查询优化(  A)。
单选题 (1 分) 1分
 A.简单SELECT查询中的子查询
 B.带有GROUPBY、HAVING、聚集函数
 C.使用ORDERBY中带有LIMIT
 D.内表、外表的个数超过MySQL支持的最大表的连接数
7.使用下列哪个字符串作为Like谓词后的表达式时不会使用索引( B )。
单选题 (1 分) 1分
 A.abc
 B.%abc%
 C.abc%
 D.a%bc
8.查询代价的估算公式为(D )。
单选题 (1 分) 1分
 A.r*pages*a_page_cpu_time+(1-r)W*T
 B.pages*a_page_cpu_time
 C.W*T
 D.pages*a_page_cpu_time+W*T
9.以下不适合使用聚集索引的情况是( A)。
单选题 (1 分) 1分
 A.频繁修改索引的列
 B.外键列
 C.主键列
 D.列经常被分组排序
10.TIMESTAMP的默认值是( B)。
单选题 (1 分) 1分
 A.0000-00-00
 B.0000-00-00 00:00:00
 C.00-00 00:00
 D.null
11.以下哪个命令用于查看SQL语句会作用于哪些分区( D)。
单选题 (1 分) 1分
 A.EXPLAIN
 B.SHOW GLOBAL STATUS
 C.EXPLAIN DEFINATION
 D.EXPLAIN PARTITIONS
12.MySQL数据库中,列的相关信息存储于( D)文件当中。
单选题 (1 分) 1分
 A..idb
 B..MYD
 C..opt
 D..frm
二、多选题
13.将外连接消除转化为内连接的好处是(  BC)。
多选题 (1 分) 1分
 A.节省更多的磁盘空间
 B.内连接的操作所需要的时间低于内连接
 C.优化器可以更好地选择多表连接顺序,降低IO消耗
 D.可以使SQL语句更加直观易懂
14.常用的逆规范化技术有以下哪种( ABCD)。
多选题 (1 分) 1分
 A.增加冗余列
 B.增加派生列
 C.重新组表
 D.分割表
15.以下哪些方法可以减少对MySQL的访问次数( ABC)。
多选题 (1 分) 1分
 A.避免重复检索
 B.使用查询缓存
 C.使用Cache层
 D.避免修改数据
16.数据库性能监视的主要指标有( ABD)。
多选题 (1 分) 1分
 A.吞吐量
 B.并发量
 C.网络流量
 D.响应时间
17.MySQL中的sys_schema库中存储以下哪些信息( ABCD)。
多选题 (1 分) 1分
 A.Innodb相关信息
 B.IO使用情况
 C.连接与会话信息
 D.索引信息
三、综合题
18.
查看MySQL中正在运行的线程可以更准确地定位问题并解决问题。


(1)请使用root用户登录并查询当前正在运行的所有线程
简答题 (1 分)
show processlist

19.(2)请写出杀死线程ID为x的命令
简答题 (1 分)
kill x

20.(3)请写出查询所有状态不为sleep线程的命令
简答题 (1 分)
show full processlist
21.
简单购物系统涉及如下表: 1.产品表(数据量10w,稳定) 2.订单表(数据量200w,且有增长趋势) 3.用户表 (数据量100w,且有增长趋势) 


请以mysql为例讲述下如何进行拆分。
简答题 (1 分)
(1)垂直拆分
mysql能够容忍数据量的数量级在百万到千万,所以进行垂直拆分可以解决表与表之间的10竞争,但是无法解决单表中数据量增长的问题,按照垂直拆分的思路可以将产品表和用户表放到一个server上,将订单表放到一个server上。
(2)水平拆分
水平拆分可以解决数据量增长的问题,但是无法解决表与表之间的IO竞争问题。水平拆分可以将用户表拆分为男女用户,将订单表拆分为已完广v订单和未完成订单。

第7章 数据库复制

本章自测-答案

一、单选题
1.在主服务器数据库上创建用户账号并授权的命令grant replication slave on *.* to 'user'@'10.21.69.237' identified by '1' 中,用于从数据库连接主数据库的账号名是( C)。
单选题 (1 分) 1分
 A.“.”
 B.10.21.69.237
 C.user
 D.1
2.主数据库的进行服务器ID等相关配置的文件是( A)。
单选题 (1 分) 1分
 A.my.ini
 B.mysql-relay-bin.index
 C.my.txt
 D.master.info
3.查看复制线程的语句是(  A)。
单选题 (1 分) 1分
 A.SHOW PROCESSLIST
 B.SHOW PROCESS
 C.SHOW SLAVE STATUS
 D.上述都不是
4.下列关于复制过滤描述正确的是( D)。
单选题 (1 分) 1分
 A.复制过滤就是对用于复制的数据进行过滤,允许复制服务器上的全部数据
 B.过滤方式包括在主数据库上过滤记录到中继日志中的事件
 C.过滤方式包括在从数据库上过滤记录到二进制日志中的事件
 D.在主数据库上可以使用选项binlog_do_db来控制过滤
5.下列关于二进制日志文件与中继日志文件的描述错误的是 (  A)。
单选题 (1 分) 1分
 A.中继日志文件用于保存节点自身产生的事件
 B.中继日志文件则是保存接收来自其他节点的事件(也是二进制格式的)
 C.中继日志文件拥有与二进制日志文件相同的结构,可以通过mysqlbinlog命令解析
 D.中继日志文件也有一个日志的索引文件
6.从数据库服务器中I/O线程的作用是(  D)。
单选题 (1 分) 1分
 A.中继日志文件的管理
 B.保存节点自身产生的事件
 C.保存接收来自其他节点的事件
 D.访问主数据库的二进制文件存放在中继日志文件中
7.与复制模式一致,二进制日志在记录事件时也支持三种格式,由(  B)参数控制。
单选题 (1 分) 1分
 A.binlog
 B.binlog_format
 C.log_bin
 D.sync_binlog
8.状态文件relay-log.info的主要作用是(  A)。
单选题 (1 分) 1分
 A.保存处理进度及中继日志文件的位置
 B.保存处理进度及二进制日志文件的位置
 C.保存复制环境中连接主数据库节点的配置信息
 D.记录磁盘上的二进制日志文件
9.显示复制线程状态(分行显示)的命令是(  B)。
单选题 (1 分) 1分
 A.Show slave status
 B.Show slave status\g
 C.Show master status\G
 D.Show master logs
10.下列有关中继日志文件介绍错误的是( B)。
单选题 (1 分) 1分
 A.中继日志文件和日志文件索引的保存路径可以通过--relay-log和--relay-log-index参数进行自定义
 B.中继日志文件拥有与二进制日志文件不同的结构
 C.遇到了从数据库节点主机名修改的情况时,可以通过修改中继日志、相关日志文件名的方式解决
 D.启动Slaves节点I/O线程时会触发创建新的中继日志文件,并更新相关的索引文件
二、多选题
11.为了实现主数据库二进制文件在从数据库的复用在从服务器中引入了( ACD )。
多选题 (1 分) 1分
 A.中继日志文件
 B.二进制日志文件
 C.I/O线程
 D.SQL线程
12.在MySQL复制中,复制模式分为哪几种(  BCD )。
多选题 (1 分) 1分
 A.基于关键字的复制模式
 B.基于语句的复制模式
 C.基于行的复制模式
 D.混合记录模式
13.除了中继日志文件之外,复制环境中的从数据库节点还会创建两个复制环境的状态文件分别是(  AD )。
多选题 (1 分) 1分
 A.master.info
 B.xtrabackup_slave_info
 C.mysql-bin.index
 D.relay-log.info
14.使用主数据库备份的方法包括(  ABD)。
多选题 (1 分) 1分
 A.冷备份
 B.热备份
 C.使用mysqldump
 D.使用快照或者备份
15.主从同步过程中,从数据库可能发生错误并导致数据不一致的原因可能是(  ABCD )。
多选题 (1 分) 1分
 A.网络中断
 B.服务器崩溃
 C.MySQL的Bug
 D.服务器非正常关闭
三、综合题
16.简述MySQL主从复制的具体原理以及流程。
简答题 (1 分)
slave(从服务器)

master(主服务器)

mysql主从是异步复制过程

master开启bin-log功能,日志文件用于记录数据库的读写增删
主从同步过程中主服务器master有一个工作线程I/O dump thread,从服务器slave有两个工作线程I/O thread和SQL thread。
Slave 通过IO线程连接master,并且请求某个bin-log,position之后的内容。
MASTER服务器收到slave IO线程发来的日志请求信息,io线程去将bin-log内容,position返回给slave IO线程。
slave服务器收到bin-log日志内容,将bin-log日志内容写入relay-log中继日志,创建一个master.info的文件,该文件记录了master ip 用户名 密码 master bin-log名称,bin-log position。
slave端开启SQL线程,实时监控relay-log日志内容是否有更新,解析文件中的SQL语句,在slave数据库中去执行。
17.MySQL主从复制过程中进行管理和维护的方法有哪些并简要描述。
简答题 (1 分)
一.异步复制:
1.环境准备:
主库:开启binlog 关闭iptable
从库:开启binlog 关闭iptable 并且没有用户数据
主从库server_ID 不同
port 不同
2.进入主库:
在主库上创建用户并授权给从库使用:
grant replication slave on *.* to'xiaozou'@'192.168.1.250'identified by 'xiaoqun';

查询主数据库状态,并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。
show master status;

3.进入从库:
change master to
master_host='192.168.1.178', =====> 主库ip
master_port=3311, =====> 主库端口
master_user='backup', =====> 用户名
master_password='backup', =====> 密码
master_log_file='mysql-bin.000012',====> binlog file 值
master_log_pos=120; =====> position 值


start slave; =========> 启动slave 同步主库;

mysql> show slave status\G
=================>
检查主从同步,如果您看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。



报错: Last_IO_Error: Got fatal error 1236 from master
when reading data from binary log: 'Slave can not handle replication events
with the checksum that master is configured to log;
the first event 'mysql-bin.000016' at 862,
the last event read from './mysql-bin.000016' at 862,
the last byte read from './mysql-bin.000016' at 120.'

解决: 自己手动删除了 除了mysql-bin.index, 的binlog日志 导致 mysql 无法启动
后面将mysql-bin.index 也删除了 mysql正常启动

二:半同步复制

在主从复制搭建成功的基础上:
select * from mysql.plugin ; 在主从库 上看有没有安装插件;没有就安装插件

在主库上安装插件 semisync_master.so : install plugin rpl_semi_sync_master SONAME 'semisync_master.so';

在从库上安装插件 semisync_slave.so : install_plugin rpl_semi_sync_slave SONAME 'semisync_slave.so';

在主库上设置参数: set global rpl_semi_sync_master_enabled=1; (1是打开半复制) ;
在从库上设置参数: set global rpl_semi_sync_slave_enabled=1;
在从库上设置参数之后要重启IO_THREAD

测试半同步复制是否成功:
在主库上:show status like '%semi_sync%';
看rpl_semi_sync_master_status 是否为 ON ON 是半同步状态开启;
看rpl_semi_sync_master_yes_tx 值为0 表示主库上目前有0个事务是通过半同步复制到从库上面的;
看rpl_semi_sync_master_no_tx 值为几 表示主库上目前有几个事务不是通过半同步复制到从库上面的;
实践测试:
在主库上执行一个事务 然后查看yes_tx 值有没有变成之前值加一



三:主要复制启动选项:
1.如果从库要作为其他服务器的主库则需要打开从库上的--log-slave-updates 用来控制从库上的更新操作是否写入二进制日志中
经常和参数--log-bin 一起使用
2.master-connect-retry 这个参数控制主从库的链接丢失之后的重试的时间 默认为60s
3.read-only 用该参数启动数据库时,数据库只接受超级用户的更新操作;

4.replicate-do-db、replicate-do-table、replicate-ignore-db、replicate-ignore-table 用这些参数启动从数据库可以指定从主数据库复制到从数据库的表

5.参数--slave-skip-error=err_code1,err_code2.../all
上面的参数是控制从数据库在复制过程中遇到binlog 中的错误SQL时能够直接跳过这条SQL语句 大大减少了人工的干预;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值