linux数据库⾯试题及答案,经典Linux⾯试笔试题及答案
aptana如何调整编码格式⼀.有⽂件file1
1. 查询file1⾥⾯空⾏所在的⾏号;
答:grep -n ‘^$’ file1
2. 查询file1中以abc结尾的⾏;
答:grep ‘abc$’ file1
3. 打印file1 ⽂件的第⼀到三⾏;
答:sed -n ‘1,3’p file1
⼆.写⼀条放⾏80端⼝的防⽕墙规则。apk反编译
答:iptables -I INPUT -p tcp --dport 80 -j ACCEPT
mysql面试题基础知识三.写⼀条192.168.10.0⽹段从⽹关192.168.9.1出去的路由
答:route add -net 192.168.10.0/24 gw 192.168.9.1
四. 每天早上6点到12点,每隔2⼩时执⾏⼀次/usr/bin/httpd.sh怎么实现
答:crontab -e 然后添加⼀⾏
0 6,8,10,12 * * * /bin/bash /usr/bin/httpd.sh
五.编写个shell脚本判断根⽬录下有没有abc⽬录,如果没有就发邮件给admin@121
答:#!/bin/bash
if [ ! -d /abc ]
then
echo “Director /abc is gone, please check.”| mail -s ‘directory /abc is gone’ admin@121
fi
六.Raid0,raid1,raid5原理
答案参考第5套11题
七.备份mysql数据库test库
答:mysqldump -uroot -p’passwd’ test > /data/test.sql
⼋. 如何查看占⽤端⼝8080的进程
答:lsof -i :8080
九.Apache有⼏种⼯作模式,分别介绍下其特点,并说明什么情况下采⽤不同的⼯作模式?
答案:Web服务器Apache⽬前⼀共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式。它们分别是
prefork,worker和event,它们同时也代表这Apache的演变和发展。使⽤httpd -V 命令查看。在configure配置编译参数的时候,可以使⽤ --with-mpm=prefork|worker|event 来指定编译为那⼀种MPM,当然也可以⽤编译为三种都⽀持:--enable-mpms-shared=all,这样在编译的时候会在modules⽬录下⾃动编译出三个MPM⽂件的so,然后通过修改f配置⽂件更改MPM。
1、Prefork MPM
Prefork MPM实现了⼀个⾮线程的、预派⽣的web服务器。它在Apache启动之初,就先预派⽣⼀些⼦进程,然后等待连接;可以减少频繁创建和销毁进程的开销,每个⼦进程只有⼀个线程,在⼀个时间点内,只能处理⼀个请求。这是⼀个成熟稳定,可以兼容新⽼模块,也不需要担⼼线程安全问题,但是⼀个进程相对占⽤资源,消耗⼤量内存,不擅长处理⾼并发的场景。
2、Worker MPM
和prefork模式相⽐,worker使⽤了多进程和多线程的混合模式,worker模式也同样会先预派⽣⼀些⼦进程,然后每个⼦进程创建⼀些线程,同时包括⼀个监听线程,每个请求过来会被分配到⼀个线程来静态网页制作css
服务。线程⽐起进程会更轻量,因为线程是通过共享⽗进程的内存空间,因此,内存的占⽤会减少⼀些,在⾼并发的场景下会⽐prefork有更多可⽤的线程,表现会更优秀⼀些;另外,如果⼀个线程出现了问题也会导致同⼀进程下的线程出现问题,如果是多个线程出现问题,也只是影响Apache的⼀部分,⽽不是全部。由于⽤到多进程多线程,需要考虑到线程的安全了,在使⽤keep-alive长连接的时候,某个线程会⼀直被占⽤,即使中间没有请求,需要等待到超时才会被释放(该问题在prefork模式下也存在)。
3、Event MPM
这是Apache最新的⼯作模式,它和worker模式很像,不同的是在于它解决了keep-alive长连接的时候占⽤线程资源被浪费的问题,在event⼯作模式中,会有⼀些专门的线程⽤来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执⾏完毕后,⼜允许它释放。这增强了在⾼并发场景下的请求处理。
⼗.简述mysql主从复制过程
答:Mysql的 Replication 是⼀个异步的复制过程,从⼀个 Mysql instace(我们称之为 Master)复制到另⼀个 Mysql instance(我们称之Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外⼀个线程(IO线程)在 Master 端。
要实现 MySQL 的 Replication ,⾸先必须打开 Master 端的Binary )功能,否则⽆法实现。因为整个复制过程实际上就是Slave从Master端获取该⽇志然后再在⾃⼰⾝上完全顺序的执⾏⽇志中所记录的各种操作。打开MySQL的 Binary Log可以通过在启动MySQL Server的过程中使⽤“log-bin”参数选项,或者在myf配置⽂件中的mysqld参数组([mysqld]标识后的参数部分)增
加 “log-bin” 参数项。
MySQL复制的基本过程如下:
1. Slave上⾯的IO线程连接上Master,并请求从指定⽇志⽂件的指定位置(或者从最开始的⽇志)之后的⽇志内容;
2. Master接收到来⾃Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定⽇志指定位置之后的⽇志信息,返回给Slave 端的IO线程。返回信息中除了⽇志所包含的信息之外,还包括本次返回的信息在Master端的Binary Log⽂件的名称以及在Binary Log中的位置;
3. Slave的IO线程接收到信息后,将接收到的⽇志内容依次写⼊到 Slave 端的Relay Log⽂件()的最末端,并将读取到的Master端的bin-log的⽂件名和位置记录到master- info⽂件中,以便在下⼀次读取的时候能够清楚的⾼速Master“我需要从某个bin-log的哪个位置开始往后的⽇志内容,请发给我”
怎么让html文件在网页上打开
4. Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log⽂件中的内容成为在Master端真实执⾏时候的那些可执⾏的Query语句,并在⾃⾝执⾏这些Query。这样,实际上就是在Master端和Slave端执⾏了同样的Query,所以两端的数据是完全⼀样的。
oracle触发器查询
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论