大家好,又见面了,我是你们的朋友全栈君。
运维工程师面试题
姓名
:
答题时间
:
1.
新安装
MYSQL
后怎样提升
MYSQL
的安全级别?
A.
修改
mysql
默认端口
B.linux
下可以通过
iptables
来限制访问
mysql
端口的
IP
地址
C.
对所有用户设置较复杂密码并严格指定对应账号的访问
IP
(可在
mysql
库中
user
表中
指定用户的访问可访问
IP
地址)
D.root
特权账号的处理(建议给
root
账号设置强密码,并指定只允许本地登录)
E.
开启二进制查询日志和慢查询日志
F.mysql
安装目录及数据存储目录权限控制:
给
mysql
安装目录读取权限,
给
mysql
日志
和数据所在目录读取和写入权限
G.
删除无用
mysql
账号和删除无用的数据库(安装好的
mysql
默认会有个
test
库,可将
其删除)
2.
MYSQL
的主从原理,怎么配置文件?
整体上来说,复制有
3
个步骤:
A.master
将改变记录到二进制日志
(binary log)
中
(这些记录叫做二进制日志事件,
binary
log events
);
B.slave
将
master
的
binary log events
拷贝到它的中继日志
(relay log)
;
C.slave
重做中继日志中的事件,将改变反映它自己的数据。
3.
mysql
主从复制的优点
<1>
如果主服务器出现问题,
可以快速切换到从服务器提供的服务;
<2>
可以在从服务器上执行查询操作,
降低主服务器的访问压力;
<3>
可以在从服务器上执行备份,
以避免备份期间影响主服务器的服务。
4.
Mysql
复制的基本原理过程
(
1
)
Slave
上面的
IO
线程连接上
Master
,并请求从指定日志文件的指定位置(或者从
最开始的日志)之后的日志内容;
(
2
)
Master
接收到来自
Slave
的
IO
线程的请求后,通过负责复制的
IO
线程根据请求
信息读取指定日志指定位置之后的日志信息,
返回给
Slave
端的
IO
线程。
返回信息中除了日
志所包含的信息之外,还包括本次返回的信息在
Master
端
binary
log
文件的名称以及在
Binary log
中的位置;
(
3
)
Slave
的
IO
线程收到信息后,将接收到的日志内容依次写入到
Slave
端的
RelayLog
文件(
mysql-relay-lin.xxxxx
)的最末端,并将读取到的
Master
端的
bin-log
的文件名和位置
记录到
master-info
文件中,
以便在下一次读取的时候能够清楚的告诉
master“
我需要从某个
bin-log
的哪个位置开始往后的日志内容,请发给我
”
(
4
)
Slave
的
SQL
线程检测到
Relay
Log
中新增加了内容后,会马上解析该
Log
文件中
的内容成为在
Master
端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些
查询或操作语句,这样,实际上就是在
master
端和
Slave
端执行了同样的查询或操作语句,
所以两端的数据是完全一样的。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142829.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...