此专题题目较多,因此分为上中下三部分来讲,此为下篇。
完整版题库请到我的资源中下载,此为传送门。https://download.csdn.net/download/kanon_lgt/85010419?spm=1001.2014.3001.5503
第一题
讲解:
- 此题考查的是mysql的scale-out与scale-up
scale-out:增加更多的机器到mysql服务中
scale-up:对单台mysql主机增加更多的资源,包括RAM、CPU、DISK等
看题目:
要求scale up
看选项:
选项A,啥都不算
选项CFG,scale-out
选项BDE,scale-up
因此,选项BDE正确
第二题
讲解:
- 此题考查的是以预编译的二进制包安装( tarball binaries)mysql的配置
tarball binaries安装需要手工做以下事情:
- 创建mysql用户
- 创建数据datadir目录
- 手工配置my.cnf文件
- 手工创建log-error文件
- 手工initialize初始化数据库
- 手工创建mysqld管理服务
看题目:
- basedir=/app/mysql
- datadir=/app/data
看选项:
只有AB符合
因此,选项AB正确。
第三题
讲解:
- 此题考查的是 mysqld服务的配置参数文件my.cnf默认扫描顺序
mysqld在启动时会按照默认的顺序扫描寻找my.cnf配置文件,直到找到为止,顺序如下:
- /etc/my.cnf
- /etc/mysql/my.cnf
- $BASRDIR/etc/my.cnf
- ~/.my.cnf
查看方法是执行如下命令:
mysqld --verbose --help | grep my.cnf
因此,选项D正确。
第四题
讲解:
- 此题考查的是 mysql5.7升级mysql8.0,物理升级方式,及In-place升级
mysql5.7升级到mysql8.0有两种方式:
- 物理升级--inplace
- 逻辑升级--mysqldump
物理升级目标版本如果>=8.0.16,升级方式很简单,步骤如下:
- 以innodb_fast_shutdown=0方式关闭mysql服务
- tarball二进制替换方式或者rpm包方式升级来升级mysql安装
- 启动mysql服务。
那么所有的升级对象,包括mysql tablespace、user tablespace、sys、performance_schema都会自动被检测到并自动执行升级。
如果升级失败,一切会自动回滚,这时候要降级回5.7的版本,执行升级前合规检查,检查通过后再执行升级。
物理升级目标版本如果<8.0.16,升级方式稍微复杂一点,步骤如下:
- 以innodb_fast_shutdown=0方式关闭mysql服务
- tarball二进制替换方式或者rpm包方式升级来升级mysql安装
- 启动mysql服务,此时第一部分的升级对象将被自动检测被升级完成
- 执行mysql_upgrade,它会完成剩余部分升级对象的升级
- shutdown
- 再正常启动mysql服务
截止到现在,一切都没有问题,升级流程清晰明了。
但是如果升级8.0.18过程中失败,则需要做的是如下操作:
- 删除redo logs
- 用5.7的二进制文件启动mysql服务
- 准备升级--检查升级前提条件并修复这些问题:--mysql-check-upgrade
- 再次启动升级,甚至强制它升级--upgrade=force
看题目:
题目提示columns_priv、event、proc、tables_priv、proxies_priv需要repari。因此升级失败。
这时候要做的删除redo、5.7启动、检查修复、再次执行升级。
看选项:
选项A,强制升级。这里不需要强制升级,mysql8.0.18会自动检测并升级全部对象。
选项B,myisamchk --upgrade-state,不需要这个操作。已经回滚了。
选项CDE,都符合升级失败后的再次升级步骤。
因此,选项CDE正确。
第五题
讲解:
- 此题考查的是mysql shell的upgrade checker utility工具
mysqlshell upgrde checker utility工具可以对mysql是否准备好升级做一个检查,并输出报告。
它只做检查,不做任何更改操作。
看题目:
mysqlshell8连接mysql5.7,做是否可以升级的检查
看选项:
选项A,它打印出5.7升级到8.0不满足升级条件的问题
选项B,它将执行失败,因为必须用骆驼命名法。错误,可以不用骆驼命名法,有多种书写规则。
选项C,它修复任何5.7到8.0不满足升级条件的问题。错误,它不做修复。
选项D,它在第二次执行时会强制的清空之前的输出结果。不会。
选项E,它将失败,因为checkForServerUpgrade必须在mysqlsh交互界面执行。错误。
选项F,必须运行此命令,以便mysql 8软件的自动升级过程具有正常运行所需的详细信息。错误,mysql 8升级并不是必须要有这个命令的输出信息做参考。
因此,选项A正确。
第六题
讲解:
- 此题考查的是mysql客户端连接到服务器端可以使用的协议类型
在linux平台,可以使用的协议如下:
- TCP
- SOCKET
在 windows平台,可以使用的协议如下
- TCP
- PIPE
- MEMORY
因此,选项BCDG正确
第七题
讲解:
- 此题考查的是mysql安装完成后默认datadir目录位置的知识点
RPM安装默认datadir=/var/lib/mysql
因此,选项D正确。
第八题
- 此题考查的是rpm包方式安装mysql8的过程
rpm方案安装mysql:
- 不需要做initialize,启动过程中自动做此动作
- 初始化密码在log-error文件中记录
- 客户端、服务器、shell、router、mysqlbackup等功能组件拆分为独立的rpm包
因此,选项EF正确。
第九题
讲解:
此题考查的是mysqld服务关闭方式的知识点
关闭mysqld服务有以下几种方式:
- systemctl stop mysqld
- mysqldadmin shutdown
- mysql>shutdown
- kill -15 [mysqld_pid] 效果等同于systemctl stop mysqld
看选项:
选项A,应该避免使用kill -15 关闭mysqld服务。错误。没问题,可以使用。
选项B,kill -15和kill -9 都是强制杀死mysqld服务,是对事务一致性有破坏的。错误。只有kill -9是有破坏的,kill -15没破坏。
选项C,kill -15是正常关闭,跟mysqladmin shutdown一样。正确。
选项D,mysqld_safe禁止执行对mysql server有伤害的命令,它将会返回一个错误。错误。
因此,选项C正确。
补充:
kill -9 [mysqld_pid] 效果是什么?如果你是用systemctl start mysqld方式启动的mysqld服务,那么执行kill -9 [mysqld_pid]并不会彻底关闭mysqld服务,mysqld服务会立刻重新启动。
第十题
讲解:
- 此题考查的是Data Dictionary内容的知识点。
Data Dictionary包括一些定义信息与控制信息等静态信息。
- table definitions
- view definitions
- stored procedure definitions
- access control lists
- 其它内容
因此,选项BCDG正确。
第十一题
讲解:
- 此题考查的是具有事务一致性的存储引擎。
能提供事务一致性的引擎有:
- innodb
- ndb
因此,选项BE正确。
第十二题
讲解:
- 此题考查的是各种log文件的作用知识点
各日志作用如下:
- slow query log--记录慢查询
- binary log--记录数据库binlog,其中的数据库的写操作SQL
- error log--记录mysql启动、关闭、运行过程中的信息i输出
- general query log--记录mysql所有的操作sql,包括读写
- audit log--记录mysql的审计日志
看题目:
记录数据库的对象和数据变化应用用什么日志?
因此,选项B正确。
第三讲下篇结束。
作者:老哥讲数据库
简介:数据库高级架构师 | Oracle 11g&12c OCM | MySQL 5.7&8.0 OCP
原创文章,转载请注明来源。