【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(中)

此专题题目较多,因此分为上中下三部分来讲,此为中篇。

完整版题库请到我的资源中下载,此为传送门。 https://download.csdn.net/download/kanon_lgt/85010419?spm=1001.2014.3001.5503


第一题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是 如何配置mysql8.0的验证插件的知识点

mysql8.0的验证插件支持三种:

  • mysql_native_password
  • sha256_password
  • caching_sha2_password

默认的是caching_sha2_password方式,它是sha256_password的超集实现。

题目要求配置为sha256_password,因此要改变mysql8.0的默认设置,需要在配置文件中添加如下设置项:

default_authentication_password=sha256_password

然后重启mysqld服务即可。

看选项:

选项A,validate-user-plugins,此参数的作用是设置是否开启对每个用户或存储过程的可用性验证,可选值为ON/|OFF,默认值为ON。

选项C,default_authencation_plugin=mysql_native_password是设置为本地验证方式。

选项D,create user with sha256_password确实可以对当前用户生效,但不会让mysql默认使用sha256_password作为将来的验证插件。

选项B,default_authencation_plugin=sha256_password,这个才是一劳永逸的设置。

因此,正确选项B。


第二题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

 讲解:

  • 此题考查的是mysql8.0修改用户密码的方式知识点。

mysql8.0修改密码的方式有两种:

  • alter user user@host identified  [with  caching_sha2_password|sha256_password|mysql_native_password] by 'auth_string'
  • set password for user@host = 'auth_string'

题目要求使用dba用户修改一个用户的密码,包括其它其他用户。

看选项:

选项A,mysql_secure_installation,这是加固mysql账户安全设定用的脚本,但并不会修改密码

选项B,mysqladmin 只会修改自己的密码,不会修改其它用户密码

选项C,在mysql8.0,不在允许通过grant方式修改用户密码

因此,正确选项DE。


第三题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是mysql服务器的容量规划

mysql的容量配置要根据业务的过去增长规律、未来发展预测、系统当前的资源运行综合评估,不可盲目扩充硬件内存、磁盘、cpu等硬件资源,避免造成浪费

题目要求对容量做一个有效的规划

看选项:

BEF,买更多的内存、磁盘、CPU,都属于盲目扩容

DG,升级应用程序到最新版本,增加更多的从库节点以分担增长的DML,属于不搭边的选项

A,监控选择系统资源运行情况,属于着眼当下。

C,咨询应用使用团队将来的项目和使用规模,属于着眼未来。

H,基于过去3年的平均增,属于着眼过去。

因此,正确选项ACH。


 第四题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

 讲解:

  • 此题考查的是mysqld多实例的管理知识点。

mysql允许在一个主机上运行多个实例,其方式很多,其中官方提供了一个多实例管理组件mysqld_multi。此组件可以根据/etc/my.cnf中配置的多组[mysqld]配置启动多个mysqld服务,在数据文件、内存区域、空间管理上实现彼此独立,互不干扰。

一般的常规做法是多个mysqld实例绑定的是同一个IP地址,使用不同的PORT来实现的资源隔离。

题目要求的确实相反的,要求多个实例使用相同的port,那就要绑定不同的IP地址来实现资源隔离。

看选项:

选项A,mysqld实例间独立的子网掩码,无效方式

选项B,mysqld实例间使用不同的用户账户,无效方式

选项C,实例间使用不同的socket文件名,无效方式。

选项D,实例间使用不同的IP地址。有效。

因此,选项D正确。


第五题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是mysql server环境的安全需求知识点

MySQL server的安全点有很多:

  • 尽可能减少mysql服务之外的程序运行在mysql server上
  • 尽可能控制具有OS级别权限的mysql用户
  • 尽可能控制OS用户的权限颗粒度
  • 尽可能避免使用root用户启动mysql服务

题目要求mysql server环境安全

看选项:

选项A,加密文件系统以避免对精确文件系统权限的需求,无厘头的表述

选项B,最小化mysqld服务之外的程序运行数量,符合要求

选项C,严格控制具有OS操作系统权限的用户数量,符合要求

选项D,root用户启动mysqld服务,错误

选项E,确保有文件系统权限的OS用户和组,符合要求

选项F,保证全套软件栈都运行于mysql server服务器上,错误

因此,选项BCE正确。


第六题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  •  此题考查的是在linux上安装mysql8后执行initialize初始化的内容

mysql8安装有多种方式,如下:

  • yum源网络安装
  • rpm包本地安装
  • 预编译二进制安装
  • 源码编译安装

其中预编译二进制和源码编译安装都需要在启动mysqld服务器前手工执行initialize初始化数据库

yum源和rpm包安装则不需要执行initialize。

initialize会做以下动作:

  • 创建ibdata、ibtmp、ib_logfile、undo等系统表空间
  • 创建mysql系统数据库
  • 创建pem加解密的key和证书
  • 创建auto.cnf文件
  • 创建mysql的root用户的初始密码

root的初始化密码可以在log-error指定的文件中找到(--initialize方式),或者在终端输出内容中看到(--initialize --console方式)

因此,选项BC正确。


第七题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  •  此题考查的是linux平台mysql8的服务启动和关闭知识点

linux平台关闭mysqld服务有如下几种方式:

  • systemctl stop mysqld
  • mysqldadmin shutdown
  • mysql>shutdown

看选项:

选项A,mysqld_safe没有shutdown的功能

选项B,kill mysqld_safe ,kill后面要接PID,这个写法都是错误的

选项D,mysql 客户端确实可以直接发送shutdown指定,但这个写法错了,应该是

mysql -S /tmp/mysql.sock -e shutdown

选项E,与选项A错误系统

因此,选项CFG正确。


第八题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是mysql_config_editor的作用

mysql_config_editor是什么呢

mysql_config_editor是一个可以用来配置mysql登录信息的工具,它可以分组管理不同的登录信息,这些登录信息被记录在用户的home目录下的一个叫做.mylogin.cnf的文件中,内容以二进制存储,并且密码是加密存储,无法看到明文。

mysql_config_editor只提供有限几个跟登录信息有关的参数供用户使用:

  • host
  • user
  • password
  • port
  • socket

如何使用mysql_config_editor进行信息配置呢

配置方式举例如下,配置两个登录信息分组,分别为local和remote:

shell>mysql_config_editor set --login-path local --host=localhost --user=test --password

shell>mysql_config_editor set --login-path remote--host=192.168.11.210 --user=test --password

此时可以看到.mylogin.cnf已经生成:

shell> ll ~/.mylong.cnf

如何查看它创建的内容呢:

shell> mysql_config_editor print --all

[local]
user = "root"
password = *****
host = "localhost"

[remote]
user = "root"
password = *****
host = "192.168.11.210"

如何使用这些登录信息呢

  • 如果要登录本地mysql服务,可以如下方式:

        shell> mysql --login-path=local

  • 如果要登录远程mysql服务,可以如下方式:

        shell>mysql --login-path=remote

  • 如果配置了[client]组,那么mysql命令在不指定--login-path的情况下将默认使用client这个组信息,以下两个命令等价:

        shell>mysql  

        shell>mysql --login-path=client

除了用于mysql客户端登录,还能用于什么地方呢?

  • mysqlbackup --login-path
  • mysqlbinlog --login-path
  • mysqladmin --login-path

这样做有什么好处呢?

  • 安全
  • 便捷

看选项:

选项A,它能改变my.cnf配置文件的内容。不,它只管理.mylogin.cnf。

选项B,它管理的是mysql客户端程序的配置。

选项C,它可以移动datadir。太荒谬了。

选项D,它能管理访问server的用户的权限。不可能,它没那么大能量。

选项E,它将默认使用[client]登录信息组,如果mysql不指定--login-path。

选项F,它管理mysql firewall。没这个本事。

选项G,它可用来创建甚至修改SSL认证和日志的位置。做不到。

因此,选项BE正确。


第九题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

 讲解:

  • 此题考查的是mysqld服务启动时的报错日志分析

看题目:

题目中日志信息描述mysqld服务在启动时报错找不到ibdata1文件,错误码-MY-012646。

这种问题一般是真的找不到ibdata1文件,或者文件目录权限不对。

看选项:

选项A,检查datadir配置正确与否。

选项E,检查缺少的ibdata1是否在其它目录。

因此,选项AE正确。


第十题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是 mysql的status状态分析,show global status\G.

看题目:

题目显示了间隔100S的前后两次SHOW GLOBAL STATUS的输出信息的片段。

片段一和片段二比较可以发现以下信息:

  • opened_tables前后差值太大,100S增长了3500个。
  • opened_files前后差值太大,100S增长了2505个.

说明在短短100S时间内,打开了3500个次table,这说明table_open_cache已经用完,并且严重不足。

题目又给出了一个信息,并发数正常情况下只有50-75.

从status前后状态看,thread_running分别是58和64;threads_connected分别是62和67。这表明,连接数设定是足够用的。

看选项:

选项A,降低table_definition_cache。这个值前后并没有太大变化,说明没有新的表要打开,都是固定的表再被重复打开关闭。因此不需要降低它的值。

选项B,降低open_files_limit。恰恰相反,从前后差值2505看,应该增大这个值的设定才可以。

选项C,增大table_open_cache。正确。这个值设置太低导致缓存的表太少,从而不断打开与关闭表,造成opened_tables值前后增大的3500个。

选项D,增大max_connections。这个完全没必要了,足够用。

因此,选项C正确。


第十一题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

 讲解:

  • 此题考查的是在一台主机上启动多个mysqld实例的知识点

启动多个mysqld实例,方式有很多:

  • mysqld_multi
  • docker
  • 安装多个实例后给每个mysqld指定单独的my.cnf配置文件
  • 配置多个systemd 服务,每个服务都有不同的配置

看选项:

选项AB,都说给不同实例绑定不同的CPU,这完全是运行资源管理,不是部署多个mysql实例方式。

选项C,mysqld运行指定不同的--datadir。是的,这个是必须的,但不是完全的,还需要其它参数才可以,比如--port。

因此,选项DEF正确。


第十二题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICB5ZOl6K6y5pWw5o2u5bqT,size_20,color_FFFFFF,t_70,g_se,x_16

讲解:

  • 此题考查的是innodb数据文件目录相关知识点

在mysql中,可以指定2个参数来控制innodb tablespace数据数据文件的位置:

  • datadir,这是数据文件的默认存放根目录,系统和用户创建的数据文件都在这个datadir目录下
  • innodb_ data_home_dir,这是数据文件home目录,默认值是./,也就是datadir;但若给它指定了其它目录,用户创建的数据表空间将被定位到指定的值对应的目录,比如题目中就设置为/innodb_data

看题目:

题目要求添加一个innodb_directories='/innodb_extras'的参数,这个参数的作用是指定另外一个附加目录,mysql服务在启动的时候,innodb引擎会扫描这个目录下的数据文件并加载。

看选项:

只有E准确地表达了innodb_directories的作用。


第三讲中篇结束。


作者:老哥讲数据库

简介:数据库高级架构师 | Oracle 11g&12c OCM | MySQL 5.7&8.0 OCP

原创文章,转载请注明来源。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老哥讲数据库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值