设为首页 收藏本站
查看: 640|回复: 0

[经验分享] linux运维(五)

[复制链接]

尚未签到

发表于 2018-5-19 10:52:00 | 显示全部楼层 |阅读模式
  
  头有点大,也浪费了一些时间。明天过后缓冲一下
  
  1、存储过程与触发器的区别?
  答:(1)触发器主要是通过事件执行触发而被执行的,而存储过程可以通过存储过程名称而直接调用。(call/execute)
  (2)触发器是一种特殊的存储过程,在表中进行insert、update、delete等DML语句时,数据库服务器就会自动执行触发器所定义的SQL语句
  (3)触发器没有参数,而存储过程有参数。
  (4)触发器最好不要返回数据,而存储过程可以返回数据
  

  2、netfilter和iptables的区别?
  答:(1)iptables是应用程序,它定义了一些规则,而netfilter是框架。
  (2)iptables工作在用户空间,而netfilter工作在内核空间。
  (3)netfilter是用来实现linux内核防火墙中的内核空间程序代码段,它要么被直接编译进内核,要么包含在模块中;而iptables是用来管理Netfilter防火墙的用户程序。
  

  3、TCP报文格式字段,拥塞控制跟流量控制有何区别?(区别不好说,有点难,即使以前整理过的)
  答:序列号、确认号、6个标志字段(FIN/ACK/RST/SYN/URG/PSH)、源端口号、目的端口号、校验和、数据偏移、窗口、紧急指针。
  区别:(1)拥塞控制就是防止过多的数据注入到网络中引起链路过载,不要一下子发成百上千个的文件。它是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。
  (2)流量控制指端到端通信流量的控制,不要一下子来个几个G大小的大文件,对方忙过不来。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。
  

  4、文件A中10条记录,文件B有5条记录,找出A中有但B没有的记录。(一时不好办,以前好像做过)
  答:cat A.txt B.txt |sort|uniq -d >chongfu.txt;cat A.txt chongfu.txt|sort |uniq -u
  ##思路就是先找出两个文件中相同的记录重定向到一个文件,再比较A文件中干掉相同的记录,就剩下A中唯一有的记录。
  

  5、用户A想在它的linux工作站上以用户B的身份登录到C主机上查看D的UID是多少,怎么做?(听起来吓人一跳啊)
  答:只要在A主机上执行:ssh -l B C id D 或者ssh B@C id D ##C相当于主机名或IP地址,-l代表登录log in
  6、不含主键的数据库中出现重复行数据,如何删除这些重复记录?并且重复记录保留一次。
  答:select distinct * into tmp from table_name;  ##distinct去会去掉重复行,并且只保留一次。
  drop table table_name; ##删除原来的表
  select * into table_name from tmp; ##将不含重复的临时表插入到原来的新表中;
  drop table tmp;删除临时表
  

  7、上述问题中,如果遇到重复的行都删除呢?只要有重复就一条都不保留
  mysql> select * from t1;..
  +------+------+
  | id   | namw |
  +------+------+
  |    1 | y    |
  |    2 | h    |
  |    2 | h    |
  |    3 | h    |
  |    3 | h    |
  |    3 | h    |
  +------+------+
  答:思路就是group by,having count(*)>1的话,放入到一个临时表中;然后用exists比较两个表,删除原来基表相同的记录,返
  mysql> create table tmp as select * from t1 group by id,name having count(*)>1;##在这里重复行只出现一次在tmp表中。
  mysql> select * from tmp;
  +------+------+
  | id   | namw |
  +------+------+
  |    2 | h    |
  |    3 | h    |
  mysql> select * from t1 where exists (select * from tmp where tmp.id=t1.id and tmp.namw=t1.namw);#从t1表返回重复行
  +------+------+
  | id   | namw |
  +------+------+
  |    2 | h    |
  |    2 | h    |
  |    3 | h    |
  |    3 | h    |
  |    3 | h    |
  +------+------+
  mysql> delete from t1 where exists (select * from tmp where tmp.id=t1.id and tmp.namw=t1.namw)
  ##只把select换成delete即可。
  mysql> select * from t1;
  +------+------+
  | id   | namw |
  +------+------+
  |    1 | y    |
  +------+------+
  

  8、一台linux主机由两块网卡eth0、eth1,IP分别为192.168.1.1和10.0.0.1,如何让这台服务器作为网关或者说代理服务器让内部的人可以上网?
  答:(1)linux主机上:echo 1>/proc/sys/net/ipv4/ip_forward=1   ##开启路由管道
  (2)iptables -t nat -A POSTROUTING -o eth1 -j MASQURADE  ##出口IP是动态的
  iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 10.0.0.1 ##出口IP是静态的
  service iptables save
  (3)在客户端的浏览器中设置代理即可访问Internet。
  

  9、A公司内部的用户反映不能接收来自某新客户公司的邮件,A公司使用自己的Sendmail邮件服务器,你觉得是什么出了问题?
  答:(1)当sendmail从任意MTA收到一封邮件时,首先检查收信地址.如果”@”后面的部分和本机文件/etc/mail/local-host-names里本地域的主机名匹配,则尝试将其作为本地邮件保存,无匹配项时则尝试将该邮件转发给外部MTA。主要用来防止垃圾邮件中的,比如公司只想接收或转发来自本地192.168.1.0/24的邮件,应该在文件中添加如下一行:192.168.1 RELAY
  (2)/etc/mail/access.db是访问权限的数据文件,可以通过makemap命令将文本文件/etc/mail/access转换生成
  (3)/etc/aliases用来实现邮件用户的别名(因为邮箱账号记录不方便),建立公司的邮件列表,邮件服务器的转发;newaliases 用来重新加载文件, 让sendmail读取该文件中的内容
  综上分析,是/etc/mail/access出了问题,可以改为From:root@B OK ##OK是制约关键字,类似的还有RELAY、REJECT、DISGARD
  

  10、内连接有哪几种?有何区别?
  答:等值连接:返回两个表中符合“=”条件的所有数据,并且包括重复列。
  非等值连接:返回两个表中符合"<>"条件的所有数据。
  自然连接:在等值连接的基础上,去掉重复列即可。
  

  11、存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql?
  答:select * from T order by c limit 20,10   ##初始记录行的偏移量是 0,20代表第21行起,我要连续记录10行,才能满足30行
  

  12、MySQL中InnoDB引擎的行锁是通过加在什么上完成?(套路有点不同啊)
  答:索引值。innodb表数据是索引组织表形式存放,但是对索引页加锁,采用位图方式实现。锁:提供共享资源的并发访问,保证数据的完整性、一致性;InnoDB与myisam的缓存机制不同,InnoDB既缓存数据块,又缓存索引值。
  

  13、如何对linux分区?
  答:假设硬盘8GB,我设置虚拟机的物理内存512MB(对于字符界面够了,对于x_windows图形界面不够用,但是可以随时调),真实机的物理内存是固定的(除非使用PAE地址扩展技术),/boot分区200MB,/swap分区为1G,保证为物理内存的2倍大小,/data分区1G,用于存放数据库文件,/root分区2GB,大概占总硬盘大小的25%,最后剩下的全部空间都划分给/home分区。
  

  14、LAMP环境如何测试?对于Fastcgi的主机分离服务如何部署?(服务器分离是我一直想要思考的,三台主机实验还有点难度)
  答:测试:对于apache来说,很好测试,浏览器页面访问该站点,返回我在网页根目录发布的index.html的相应内容即可。不好测试的是Mysql,必须要借助一个PHP语言写的动态页面,当我在前端页面输入数据并提交的时候,我的后台数据库服务器会自动添加内容,我只需要select 查询是否有更新即可。单独只测试PHP的话,写一个index.php,看浏览器访问能出现页面不。
  分离:httpd——php—fpm(fastcgi process manager)——mysql,都各自拥有自己的IP地址。apahce需要取消注释mod_proxy模块,
  在虚拟主机中添加ProxyRequests Off;关闭正向代理,ProxyPassMatch ^/(.*\.php)$fcgi://192.168.1.2:9000/PATH/$1 ,
  在PHP代码中,使用$link = mysql_connect('172.16.2.6','root','magelinux');类似字段连接数据库,称为为ODBC。
  参考文档:http://yao3800.blog.51cto.com/1522113/1705701
  

  15、TCP什么时候会重传?如何判断一个TCP报文是重传报文呢?(这题拿来面试的话又要刷一批人啊)
  答:(1)数据包传输过程中丢失;
  (2)服务端收到了客户端的数据报文,但是不予响应,即不发送ACK;
  (3)服务端响应过程的途中因为各种原因导致ACK报文丢失了。
  判断:重传报文一般具有以下两个特征:一是TCP交互序列号突然下降(因为序列号本来是递增的,要重传以前的报文当然得下降),二是在TCP报头中的序列号、数据长度、应用数据等参数跟前面的某些TCP报文一致。
  机制:发送方发送一个或连续好几个带有序列号的报文,在规定的计时器时间内,收到接收方的确认,再继续发送接下来的内容,否则,重传。
  重传次数;cat /proc/sys/net/ipv4/tcy_synack_retries默认5次,如果次数到了,那么服务器会发送RESET表示重置终止该连接。
  重传时间:比如windows第一次重传3秒,第二次重传前的计时器等待时间是第二次的2倍,linux不知道
  

  16、有一个web服务,怎么监控它在提供服务?
  答:(1)写一个脚本,每隔5分钟去ping它,测试这台主机的网络连通性,否则邮件报警
  (2)在该脚本中,每隔1分钟用curl命令-I参数去测试,再使用awk命令过滤出200 OK字段,否则,邮件报警
  (3)另一方面,那些监控工具如nagios很强大,不能提供服务它也会短信和邮件报警的。
  

  17、微信发一个小视频,使用哪种协议?解释原因?(如果不提前思考,说原因还有点难)
  答:毫无怀疑是UDP。原因:(1)UDP封装上层应用数据,添加的控制信息较为少,也不需要建立三次握手,直接交付给网络层处理,延迟那就小了点。另外,我们知道这些语音和视频流量对延迟和抖动要求比较高
  (2)。。。(应该还有,待续想)
  

  18、有一个文件里面包含许多单词,单词之间以空白分隔,找出单词'Linux'的前一个单词,或者后一个单词?(居然这么问,真难,还是网友厉害!)
  echo "centos linuxcast redhat" >1.txt
  答:前一个单词:cat 1.txt |tr " " "\n"|awk '/linux/{print VAR}{VAR=$0}'  ### 利用变量VAR保存关键字所在行的上一行
  当前行:cat 1.txt |tr " " "\n"|awk '/linux/{print $RS}‘ ##RS是当前行的内容
  后一个单词:cat 1.txt |tr " " "\n"| awk '{if(A)print; A=0} /linux/{A=1}' ##找到linux关键字后,构造下一行的输出条件。
  

  

  19、有一些冷热数据,对这些很冷的的数据,突然之间有很多用户访问,怎么提高磁盘的I/O能力(有点难哦)
  答:(1)使用固态硬盘做RAID5阵列。
  (2)从业务上减小某个时间段的访问量
  

  20、如何查看linux的网卡流量,是字节还是比特?用什么查看网卡信息,网卡信息包括什么,以及配置文件在哪?(常考)
  答:字节。 ethtool命令查看网卡信息,包括千兆还是百兆,双工还是半双工,自协商与否,接口的型号,
  (1)sar -n DEV [刷新延迟] [刷新次数] ;(2)iptraf界面,如果说屏幕太小,需要按F11键
  

  21、socket连接和http连接的区别。(这是真难了)
  答:(1)Socket本身并不是协议,而是一个调用接口(API),套接字位于应用层与传输层之间的抽象层;http是应用层的无状态协议,用TCP来封装http报文。
  (2)socket有IP地址和端口号组成,它是一种编程技术,提供网络通信的能力。http用来规定如何来传输一些诸如ASIII或者二进制类型的数据
  

  

  22、路由器和交换机的区别?(放到linux运维这儿,是因为可能会涉及很浅的网络知识)
  答:(1)路由器工作在网络才呢过,交换机工作在数据链路层。(当然这里默认交换机是二层的)
  (2)本身的工作机制不同。路由器拆开三层包头的IP地址,经过查路由表进行路由选择和存储转发。而交换机是拆开帧头查看目的MAC地址,如果MAC地址表有缓存记录则转发,否则广播出去。
  (3)路由器划分广播域和冲突域,交换机只划分冲突域,但不划分广播域。
  (4)从端口密度来说,路由器端口很少,交换机通常有16、24个不等。
  (5)从通信范围来说,路由器是让不同网段进行通信的,而交换机是让本地网段通信的。
  

  23、网站响应太慢,如何排错?(这种题是重点,重复了很多次)
  答:首先判断是一个人的问题还是大面积的问题。自己要去测试下,看ping服务器的丢包率情况如何。
  (1)用户带宽问题(2)服务器CPU利用率过高(3)DNS解析慢(4)网站出口带宽问题
  (5)客户浏览器前端设计问题(6)网页代码质量问题(7)服务器遭遇攻击
  

  24、如何让192.168.10.6 ping通172.16.100.6呢?(以前还真是以为不可能,看了马哥运维,真是颠覆了)
  答:在172.16.100.6这台主机上设置iptable -t nat -A POSTROUTING -s 192.168.10.0/24 -j snat --to-source 172.16.100.6即可。
  

  25、用什么工具或命令查看、测试系统的性能?(这个问题值得好好整理一下)
  答:(1)磁盘性能:sysbench、iostat、iotop
  (2)网络性能:ethtool、sar命令。ping连通性、traceroute测路径故障
  (3)内存和swap情况:vmstat 刷新延迟 刷新次数、free -m,以及文件/proc/meminfo
  (4)进程情况:top、ps、pstree;线程情况:htop、ps -T
  (5)端口情况:netstat
  (6)负载情况:uptime、top
  (7)CPU情况:sar命令、top命令,以及文件/proc/cpuinfo
  (8)日志情况:Awstats 、last命令,以及一些文件如系统日志、服务日志、安全日志
  (9)磁盘情况:df -h和fisk -l
  (10)并发处理能力:ab、httperf
  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461955-1-1.html 上篇帖子: Linux作业8 下篇帖子: linux系统上的命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表