运维面试题 含答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运维工程师面试题
姓名: 答题时间:
1.新安装MYSQL后怎样提升MYSQL的安全级别?
A.修改mysql默认端口
下可以通过iptables来限制访问mysql端口的IP地址
C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址)
特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)
E.开启二进制查询日志和慢查询日志
安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限
G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个test库,可将其删除)
2.MYSQL的主从原理,怎么配置文件?
整体上来说,复制有3个步骤:
将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
将master的binary log events拷贝到它的中继日志(relay log);
重做中继日志中的事件,将改变反映它自己的数据。
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 文件()的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”
(4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。
5.为MYSQL添加一个用户?
mysql> grant select,insert,update,delete on book.* to test2@localhost identified by “abc”;? ? #增加test2用户,密码为abc。并只能在localhost这台主机上登录,并且只能访问book这个库中的表,具有查询,插入,更新,删除权限;
语法:mysql> GRANT <权限> ON <库>.<表> TO ‘用户’@’主机名’ identified by “密码”;
6.写一个脚本将数据库备份并打包至远程服务器/backup目录下。
mount /mnt
cd /mnt
/usr/local/mysql/bin/mysqldump -hlocalhost -uroot test >
tar czf
rm -f
7.写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径
/home/logs/nginx/default/
awk ‘{a[$1]++}END{for (j in a) print a[j],j}’ /home/logs/nginx/default/|sort -nr|head -10
8.简要描述Linux的启动过程?
BIOS启动引导(从mbr中装载启动管理器grub)—-GRUB启动引导(装载kernel和initrd到内存)—–内核启动参数-sys init初始化..
9.简要叙述下列端口所运行的服务21、22、23、25、110、143、873、3306
对应的服务是ftp ssh telnet snmp pop3 IMAP rsync
10.Linux系统中病毒怎么解决
找到病毒文件然后删除;中毒之后一般机器cpu、内存使用率会比较高,机器向外发包等异常情况,排查方法:
linux服务器流量剧增,用iftop查看有连接外网的情况。netstat连接的外网ip和端口。#top命令找到cpu使用率高的进程,一般病毒文件命名都比较乱#可以用ps?aux?查看是否有不明进程,找出病毒文件的位置#rm
-f?命令删除病毒文件#检查计划任务、开机启动项和病毒文件目录有无其他可疑文件等chkconfig????--list?????|??grep??3:on
服务器启动级别是3的,检查一下了开机启动项,没有特别明显的服务。然后检查了一下开机启动的一个文件,more???/etc/
11.发现一个病毒文件你删了他又自动创建怎么解决
ps?axu一个个排查,方法是查看可疑的用户和系统相似而又不是的进程找出进程可疑。杀掉所有与病毒相关的进程,然后删掉病毒这个可执行文件,最后删除病毒创建的文件
12.请写出5个你常用的系统或网络维护工具的名称
rhel??centos??ubuntu
iotop用于检查?I/O?的使用情况
htop实质上是?top?的一个增强版本。它更容易对进程排序。
ping
traceroute
13.你使用过监控软件吗?说说其特点
使用nagios对服务器进行监控,其特点侧重于对检测项的状态监控,主要通过nrpe实现对远程主机的监控,但也可以通过snmp对设备(如路由器、交换机)进行监控,可实时实现手机短信、电子邮件、MSN、飞信报警。
使用cacti?对服务器进行监控,其特点侧重性能和流量监控并通过图表显示,主要通过snmp 协议收集监测项数据,可实时实现手机短信、电子邮件、
使用zabbix对服务器进行监控,zabbix是完全开源的工具,整合了cacti和nagios等特性。
zabbix可以对主机的性能监控、网络设备性能监控、数据库、FTP?等通用协议监控、多种告警方式、详细的报表图表绘制
支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)
支持分布式,能集中展示、管理分布式的监控点,扩展性强
可以自己开发完善各类监控(根据相关接口编写程序实现),编写插件容易,可以自定义监控项,报警级别的设置。
数据收集,支持?snmp(包括?trapping?and?polling?),IPMI,JMX,SSH,TELNET;
14.web服务器的调优要点
以nginx为例,个人总结有如下几个要点:
1)尽可能的少用http,因为http是有开销的;