轉至:https://blog.csdn.net/hanguofei/article/details/102774930?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-1-102774930.nonecase&utm_term=8%E4%B8%AA300g%E7%9A%84%E7%A1%AC%E7%9B%98%E5%81%9Araid5&spm=1000.2123.3001.4430
1、NAT和PAT的區別
IP地址耗盡促成了CIDR的開發,但是CIDR開發的主要目的是為了有效的使用現有的INTERNET地址,而
同時根據RFC1631(IPNETWORKADDRESSTRANSLATOR)開發的NAT卻可以在多重的INTERNET子網中使
用相同的IP地址,用來減少注冊IP地址的使用。
NAT的分為:靜態NAT、動態NAT、端口NAT(PAT)。
靜態NAT:內部網絡中的每個主機都被永久的映射成外部網絡中的某個合法地址;
動態NAT:在外部網絡中定義了一系列的合法地址,采用動態分配的方法映射到內部網絡;
PAT:是人們比較熟悉的一種轉換方式。PAT普遍應用於接入設備中,它可以將中小型的網絡隱藏在一
個合法的IP地址后面。PATT與動態地址NAT不同,它將內部連接映射到外部網絡中的一個單獨的IP地址
上,同時在該地址上加上一個由NAT設備選定的TCP端口號。也就是采用portmultiplexing技術,或改
變外出數據的源port的技術將多個內部ip地址映射到同一個外部地址。
網絡地址轉換(NAT)是一個Internet工程任務組(InternetEngineeringTaskForce,IETF)標准,用於允許
專用網絡上的多台PC(使用專用地址段,例如10.0.x.x、192.168.x.x、172.x.x.x)共享單個、全局路由的
IPv4地址。IPv4地址日益不足是經常部署NAT的一個主要原因。WindowsXP和WindowsMe中
的"Internet連接共享"及許多Internet網關設備都使用NAT,尤其是在通過DSL或電纜調制解調器連接寬
帶網的情況下。
NAT對於解決IPv4地址耗費問題(在IPv6部署中卻沒必要)盡管很有效,但畢竟屬於臨時性的解決方案。
這種IPv4地址占用問題在亞洲及世界其他一些地方已比較嚴重,且日漸成為北美地區需要關注的問題。
這就是人們為什么長久以來一直關注使用IPv6來克服這個問題的原因所在。
除了減少所需的IPv4地址外,由於專用網絡之外的所有主機都通過一個共享的IP地址來監控通信,因此
NAT還為專用網絡提供了一個隱匿層。NAT與防火牆或代理服務器不同,但它確實有利於安全。
2、NAT使用的幾種情況:
1.連接到INTERNE,但卻沒有足夠的合法地址分配給內部主機;
2.更改到一個需要重新分配地址的ISP;
3.有相同的IP地址的兩個INTRANET合並;
4.想支持負載均衡(主機);
3、NAT有4種用法:
1.TRANSLATION INSIDE LOCALADDRESS-----------將內部地址一對一的翻譯成外部地址;
2.OVER LOADING INSIDE GLOBAL ADDRESS---------將內部地址多對一的翻譯成外部地址,通過地址加
端口號的方式區別不同的本地地址。這種方式就是所謂的PAT/color:43aa144927;
3.TCP LOAD DISTRIBUTING----提供在多個、利用率高的主機之間進行負載分擔的方法;
4.HANDLING OVER LAPPING NETWORK----這種方法主要用於兩個INTRANET的互聯.
NAT的地址轉換是指每個內網地址都被轉換成ip地址+源端口的方式,這需要公網ip地址為多個。
而PAT由於ip地址不足夠,就會出現內網地址被轉換成ip地址+端口段的形式,這樣的公網ip地址通常只
是一個。
4、若一台計算機的內存為128M,則交換分區的大小是多少?
256M
5、簡述raid0、raid1、raid5三種工作模式的工作原理及特點
raid0:條帶卷,利用率100%,相對讀寫速率最快,相對安全性差。數據隨機存入到陣列中的一個磁盤
上。同時從2塊磁盤讀數據;讀速度與raid1相差不多;
raid1:鏡像卷,使用率50%,相對讀寫速率一般,相對安全性高。最少2塊磁盤組成,數據同時存入到兩
塊磁盤上。同時從2塊磁盤讀數據;寫速度會比raid0慢;
raid5:帶奇偶校驗的鏡像卷,相對讀寫速率較快,相對安全性高可以添加熱被磁盤作為冗余。
6、將/usr/local/test目錄下大於100k小於500k的文件轉移到/tmp目錄下
Find /usr/local/test -size +100k -a -size -500k -exec mv {}/tmp;
7、軟鏈接和硬鏈接的區:
硬鏈接不會創建新的inode,只是給源文件多加了一個文件名 軟鏈接創建新的inode,相當於重新創建
了一個文件
硬鏈接不能跨分區 軟鏈接可以跨分區
硬鏈接刪除源文件后,另一個文件還能用 軟鏈接刪除源文件后,鏈接文件不能再使用
8、ps aux中的VSZ代表什么意思?RSS代表什么意思?
VSZ:虛擬內存集,進程占用的虛擬內存空間
RSS:物理內存集,進程戰用實際物理內存空間.
9、保存當前磁盤分區的分區表,dd命令是個強大的命令,在復制的同時進行轉換,請寫出具體命令
Dd if=/dev/sda of=./mbr.txt bs=1M count=512
10、6塊300G的硬盤做raid5,新的設備容量是多大?
由於RAID5磁盤陣列兼顧了安全性和速度,所以有一塊磁盤是要被用作安全備份區的,所以6塊300G的磁
盤實際使用到的只有5塊5*300=1500G
11、顯示網絡接口常見命令?查看服務端口的命令?
顯示網絡接口常見命令是:ifconfig或者ipa;查看服務端口的命令是:ss-anptul
12、簡要描述Linux系統下源代碼編譯方式安裝軟件的大致步驟
1.部署基礎環境:關閉防火牆;關閉selinux;安裝編譯器
2.下載、解壓軟件包
3、配置安裝路徑
4、編譯
5、安裝
13、實時抓取並顯示當前系統中tcp80端口的網絡數據信息,請寫出完整操作命令
tcpdump -n tcpport80(tcpdump -i ens33 ‘tcp port 80’)
14、linux中你常用的系統命令,說20個
ls cat mkdir touch useradd rm ps ip ifconfig pwd cd cp scp mv ss find
echo tar vim ping systemctl
15、kernel調參
linux內核參數調整說明
所有的TCP/IP調優參數都位於/proc/sys/net/目錄。例如,下面是最重要的一些調優參數,后面是它們的含
義:
1./proc/sys/net/core/rmem_max—最大的TCP數據接收緩沖。
2./proc/sys/net/core/wmem_max—最大的TCP數據發送緩沖。
3./proc/sys/net/ipv4/tcp_timestamps—時間戳在(請參考RFC1323)TCP的包頭增加12個字節。
4./proc/sys/net/ipv4/tcp_sack—有選擇的應答。
5./proc/sys/net/ipv4/tcp_window_scaling—支持更大的TCP窗口.如果TCP窗口最大超過65535(64KB),
必須設置該數值為1。
6.rmem_default—默認的接收窗口大小。
7.rmem_max—接收窗口的最大大小。
8.wmem_default—默認的發送窗口大小。
9.wmem_max—發送窗口的最大大小。
/proc目錄下的所有內容都是臨時性的,所以重啟動系統后任何修改都會丟失。
建議在系統啟動時自動修改TCP/IP參數:
把下面代碼增加到/etc/rc.local文件,然后保存文件,系統重新引導的時候會自動修改下面的TCP/IP參數:
echo256960>/proc/sys/net/core/rmem_default
echo256960>/proc/sys/net/core/rmem_max echo256960>/proc/sys/net/core/wmem_default
echo256960>/proc/sys/net/core/wmem_max echo0>/proc/sys/net/ipv4/tcp_timestamps
echo1>/proc/sys/net/ipv4/tcp_sack echo1>/proc/sys/net/ipv4/tcp_window_scaling
TCP/IP參數都是自解釋的,TCP窗口大小設置為256960,禁止TCP的時間戳(取消在每個數據包的頭中增加
12字節),支持更大的TCP窗口和TCP有選擇的應答。
15、系統安全加固
1.密碼策略 修改系統的密碼策略1)經常修改密碼2)使用一些特殊的字符和密碼的長度增加密碼的難度
3)不要隨便告訴他人密碼
2.權限ugo鎖定系統中不必要的系統用戶和組 鎖定下列用戶,鎖定之前備份/etc/passwd和/etc/shadow
文件 禁用無關的組 禁止root用戶遠程登錄
3.預防flood攻擊linux中預防SYNflood.在/etc/sysctl.conf文件中添加net.ipv4.tcp_syncookies=1
4.加固TCP/IP協議設置/etc/sysctl.conf文件相應權限
5.默認權限與umask不要修改正確的umask值022
6.做任何修改文件的動作先備份再做操作
16、臨時調整和永久生效系統內核參數在哪里調
1.臨時調整內核參數
開啟內核路由轉發功能,通過01設置開關 #echo"1">/proc/sys/net/ipv4/ip_forward
禁止所有的icmp回包(禁止其他主機ping本機) #echo"1">/proc/sys/net/ipv4/icmp_echo_ignore_all
調整所有進程可以打開的文件總數ps:如果大量用戶訪問時,可以因為該數字太小而導致錯誤
#echo"108248">/proc/sys/fs/file-max
2.永久調整內核參數 vim/etc/sysctl.conf
開啟內核路由轉發功能,通過01設置開關 net.ipv4.ip_forward=1
禁止所有的icmp回包(禁止其他主機ping本機) net.ipv4.icmp_echo_ignnore_all-=1
調整所有進程可以打開的文件總 fs.file-max=108248
17、如何查看當前linux系統的狀態,如CPU使用,內存使用,負載情況
sar綜合命令 mpstat11cpu監測 free-m內存使用 top負載
18、顯示CPU利用率的命令,查看系統版本的命令
CPU利用率的命令:top或sar
查看系統版本的命令:cat/etc/redhat-release或uname-a
19、查看網卡歷史流量實時查看網卡流量
網卡歷史流量:sar-nDEV-f/var/log/sa/saxx#查看xx日的網卡流量歷史
實時查看網卡流量:sar-nDEV15(每間隔1秒刷新一次,共5次)
20、如何查看當前系統每個ip的連接數
Netstat -n |awk’/^tcp/{print$5}’|awk -F: ‘{print$1}’|sort| uniq-c
21、找出/home下所有7天以前,以.ok結尾的文件列
find /home -name “*.ok” -mtime +7
22、如何快速生成一個10G的文件
Dd if=/dev/zero of=test bs=10M count=1024
23、列出Linux常見打包工具並寫相應解壓縮參數
壓縮打包命令:tar -czf filename. Tar dirname Zip filename. Zip dirname Gzip filename bzip2 -z
filename
解壓包命令:tar -xf filename.tar unzip filename.zip gzip -d filename.gz bzip2 -d filename.bz2
24、標准端口的范圍是?
1-65535
25、常見協議(http、https、ftp、mysql、redis)默認端口
http:80 https:433 ftp:21 mysql:3306 redis:6379
26、寫出下面服務的常用端口:ftp、http、dns、smtp、pop3、dhcp、tftp、mysql、ssh、https
ftp:21控制端口 20數據端口 http:80 dns:53 smtp:25"簡單郵件傳輸協議" pop3:110"郵局協議版
本3" 3389:window遠程桌面
dhcp:客戶端是以UDP68 服務器是以UDP67 tftp:69文件傳輸協議 mysql:3306 ssh:22 https:
443
27、Linux中的服務自啟動添加方法有哪些
centos7:有三種 1.systemctl enable服務名
2.vim/etc/rc.localsystemctlstart服務名
3.vim/etc/fstabsystemctlstart服務名
28、從本機復制文件、文件夾到服務器並替換同名文件的寫法有哪幾種?
1.scp -r 源文件路徑目標文件 ip:目標文件路徑
2.rsync-avr源文件路徑目標文件 ip:目標文件路徑
29、請解釋下Telnet和SSH的區別
Telnet:不安全,沒有對傳輸的數據進行加密,容易被監聽還有遭受中間人攻擊,telnet不能壓縮傳輸
數據,所以傳輸慢;
ssh:對數據進行了RSA加密,安全性高,ssh傳輸數據是經過壓縮的,所以數據傳輸速度比較快
30、檢查服務器是否正常工作的最好辦法是?
1.ping 服務器ip
2.ss -antul|grep 服務端口
3.ps aux|grep 服務名
4.systemctl status 服務名
--------------------2019年10月31日更新---------------------------
31、Linux記錄log的服務叫什么名字?
rsyslog
32、ping命令通過什么協議(internet控制信息協議)來實現?
icmp
33、網絡裝機工具cobbler了解嗎,有哪些組件?
批量裝機:pxe
34、設置系統當前運行級別中test服務狀態為啟動時自動加載,請寫出完整操作命令
#runlevel//查看當前的運行級別
#chkconfig–level5teston
35、計划任務在11月份,每天早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh怎么實現?
00 6-12/2 * 11 * bash/usr/bin/httpd.sh
36、請寫下Linux系統中cron定時任務,每天07至23點,每隔半小時執行apache重啟,並禁用系統郵件通知
crontab -e */30 7-23 * * * systemctl restart httpd>/dev/null2>&1
37、/var/ww/html/是網站的發布目錄,如何每天凌晨0點30分對其進行自動備份,每次備份成按時間生成不同的備份包,寫出操作步驟?
30 0 * * * tar-zcf date+%Y%m%d.html.tar.gz /var/ww/html
38、Http的錯誤代碼含義(404、410、504、502)?
404(未找到)服務器找不到請求的網頁。
410(已刪除)如果請求的資源已永久刪除,服務器就會返回此響應。
504(網關超時)服務器作為網關或代理,但是沒有及時從上游服務器收到請求。
502(錯誤網關)服務器作為網關或代理,從上游服務器收到無效響應。
39、進程和線程的區別?
線程:線程來源與進程,線程模式需要事先開啟
線程模式並發量高 相對與進程模式來說沒有進程模式穩定 共享內存 不支持php
進程:進程穩定性高;線程穩定性低
進程獨占內存;線程共享進程的內存一個進程可以有多個線程;
40、dhcp客戶端是哪個地址來申請一個新的ip地址的?
dhcp客戶端是使用廣播地址來向全網發送廣播包來尋找dhcp服務器的
源地址是0.0.0.0 廣播地址是:255.255.255.255 客戶端沒有IP地址才需要申請,所以它只能用0.0.0.0來
代替它的ip,向服務器端申請ip地址。
-------------------------------2019年11月1日更新------------------------------
41、DHCP(動態主機配置協議)
主要目的是為了方便我們的主機IP地址的配置,如果網絡中存在大量的主機時,可通過部署DHCP協
議,由DHCP服務器分配可用地址給主機。
客戶端啟用了DHCP,開機后,它會發布一個的廣播報文,廣播報文經過網關時會帶上相應標記,要使
路由可達,當DHCP服務器收到這個報文后,DHCP服務器會根據報文標記,分配一個網關所在網段IP地
址給客戶端,如果所有客戶端未划分網關,DHCP會在地址池內隨機分配IP給客戶端
地址池:在用戶定義了DHCP范圍及排除范圍后,剩余的地址構成了一個地址池,地址池中的地址可以
動態的分配給網絡中的客戶機使用。地址池僅對自動獲取IP的方式有效,手動設置IP只要符合規則可無
視此項。
42、單獨修改某一個賬戶的配置?
user_config_dir=/etc/vsftpd/userconf
vim /etc/vsftpd/userconf/zhanghu local_root=/zhanghu
43、我們都知道FTP協議有兩種工作模式,說書他們的大概的一個工作流程?
模式:主動模式(ActiveFTP)和被動模式(PassiveFTP)
1、在主動模式下:FTP客戶端隨機開啟一個大於1024的端口N,向服務器的21號端口發起連接,然后
開放N+1號端口進行監聽,並向服務器發出PORTN+1命令。服務器接收到命令后,會用其本地的FTP數
據端口(通常是20)來連接客戶端指定的端口N+1,進行數據傳輸。
客戶端使用1024以上的端口連接服務器的21號端口,並且會事先開啟一個1024+N的端口准備讓服務器來
連接,服務器得知客戶端准備的端口后,用20號端口與客戶端連接,創建數據鏈路時server端處於主動去連
接客戶端的狀態固稱為主動傳輸模式
2、在被動模式下:FTP客戶端隨機開啟一個大於1024的端口N,向服務器的21號端口發起連接,同時
會開啟N+1號端口。然后向服務器發送PASV命令,通知服務器自己處於被動模式。服務器收到命令后,
會開放一個大於1024的端口P進行監聽,然后用PORTP命令通知客戶端,自己的數據端口是P。客戶端
收到命令后,會通過N+1號端口連接服務器的端口P,然后在兩個端口之間進行數據傳輸。
客戶端使用1024以上的端口連接服務器的21號端口,服務器接到連接請求后,開啟一個1024+M的端口等
待客戶端來連接,再通知客戶端這個等待連接的端口號是1024+M,客戶端接到服務器端的信息后,開啟新
的一個1024+N的端口與1024+M進行連接,創建數據連接時,server端處於被客戶端連接的狀態,固稱為被
動傳輸模式
vsftp默認是根據客戶端不同而使用不同模式,windows客戶端則使用主動,linux客戶端則使用被動
可以用pasv_enable=NO來強制使用主動
總的來說,主動模式的FTP是指服務器主動連接客戶端的數據端口,被動模式的FTP是指服務器被動地
等待客戶端連接自己的數據端口。
44、我們都知道dns既采用了tcp協議,又采用了udp協議,什么時候采用tcp協議?什么時候采用udp協議?為什么要這么設計?
dns有兩個情況,一種是區域傳輸,一種是域名解析
1.區域傳輸時,一個區中主DNS服務器從自己本機的數據文件中讀取該區的DNS數據信息,而輔助DNS
服務器則從區的主DNS服務器中讀取該區的DNS數據信息,傳輸協議是tcp。
2.域名解析時,首選的通訊協議是udp
使用udp傳輸,不用經過TCP三次握手,這樣DNS服務器負載更低,響應更快
但是當域名解析的反饋報文的長度超過512字節時,將不能使用udp協議進行解析,此時必須使用tcp
45、當用戶在瀏覽器當中輸入一個網站,說說計算機對dns解釋結果哪些流程?注:本機跟本地DNS還沒有緩存
1.用戶輸入網址到瀏覽器;
2.瀏覽器發出DNS請求信息;
3.計算機首先查詢本機HOST文件,不存在,繼續下一步;
4.計算機按照本地DNS的順序,向區域dns服務器查詢IP結果;區域dns服務器查詢不到時會從根域開
始,按照DNS層次結構向下搜索,直至對於信息具有權威性;
5.將返回dns結果給本地dns和本機,本機和本地dns並緩存本結果,直到TTL過期,才再次查詢此結
果;
6.返回IP結果給瀏覽器;並給本地的DNS一份結果;
7.瀏覽器根據IP信息,獲取頁面;
46、修改ssh客戶端端口:
#vim/etc/ssh/ssh_config /Port查找端口行,刪除#,將22修改為目標端口
47、修改ssh服務端端口:
#vim/etc/ssh/sshd_config /Port查找端口行,刪除#,將22修改為目標端口
#systemctl restart sshd
48、NFS共享文件怎么做的,用的什么技術,碰到了什么問題
用nfs做nas存儲,當訪問的過多時;會比較卡: 提升交換機的配置原來是百兆的話要提升到千兆或者萬兆
49、SHELL腳本ll中單引號,雙引號及不加引號的簡單區別
單引強引硬引取消引號內特殊字符的意義
雙引弱引軟引取消部分引號內特殊字符的意義讓多個以空格為分隔符的字符串形成一個整體字符串
50、如何實現對MySQL數據庫進行分庫邏輯備份,請用腳本實現
mysqldump
#vimmysqldump.sh
Mysqldump -uroot -p’QianFeng@123’
-A–single-transaction
–routines–triggers–master-data=2
–flush-logs\ >/backup/date+%F-%H -mysql-all.sql
-----------------------2019年11月02號更新----------------------------
51、寫一個腳本,實現tomcat的web服務監控
監控tomcat的開啟和關閉;或是端口8005,8009;
http與tomcat連接是8080端口;與nginx是不需要端口
1.可以寫腳本+計划任務
2.可以使用nagios
3.可以使用zabbix在agent的配置文件內定義key:
#vim/etc/zabbix/zabbix_agentd.conf
UserParameter=tomcat_port*:/tomcat_monitor.sh$1
編寫腳本:
#vim/tomcat_monitor.sh
if 1 − e q 8080 ; t h e n l s o f − i : 8080 r e t u r n 1-eq 8080;then lsof-i:8080 return1−eq8080;thenlsof−i:8080return? elif$1-eq8005;then lsof-i:8005
return$? else return8 fi
52、寫一個腳本實現nginx服務的管理
文件鎖:
編譯安裝時需要寫此腳本;
筆記上有答案5nginx安裝7小步設置開機啟動
#vi/etc/init.d/nginx #!/bin/bash #chkconfig:-9920
#description:Oooothisismynginxstartupscript
PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid"
case"$1"in start) P R O G ; ; s t o p ) k i l l − s Q U I T PROG ;; stop) kill-sQUITPROG;;stop)kill−sQUIT(cat$PIDF) ;; restart) $0stop 0 s t a r t ; ; r e l o a d ) k i l l − s H U P 0start ;; reload) kill-sHUP0start;;reload)kill−sHUP(cat$PIDF) ;; *)
echo"Usage:$0{start|stop|restart|reload}" exit1 esac exit0
#chmod+x/etc/init.d/nginx #chkconfig–addnginx
53、寫一個防火牆配置腳本,只允許遠程主機訪問本機的80端口
#vimiptables.sh
Iptables -t filte r-I INPUT -p tcp! --dport80 -j DROP
54、編寫shell腳本,清理/var/logs/目錄下的一個持續增長的conn.log文件,以日為單位形成一個新的壓縮文件,並刪除30天前的日志壓縮文件
#vimcleanlog.sh
#清理日志腳本
tar -czf /log_backup/conn_date+%y年%m月%d號-%H:%M:%S.log.tar.gz /var/logs/conn.log
wait $$ rm-rf/var/logs/conn.log find/log_backup/-mtime+30-execrm{};
55、請用shell腳本實現:批量添加5個用戶,用戶名為:user1-5,密碼為:user名+3個隨機字符
For I in{1…5}
do
useradd user$i
suijishu=opensslrand-hex2|sed-r"s/(...)(.)/\1:\2/g"|awk-F:'{print$1}'
echo useri iisuijishu | passwd --stdin user$i
done
56、請說出以下符號在bashshell中的意義:
$ 0、$ n、$ #、$ ?、$ *、$ $ 、$ (#aa)
$0當前讀取內容
$n位置變量
$#參數個數上一語句的返回值
$$ pid
$*所有參數
57、請用自己熟悉的腳本語言,快速替換notic服務下config.properties配置文件中所有變量值為jdbc.username,jdbc.password的值為blue和pass1234
sed-ri’s/jdbc.username/blue/g’config.properties
sedri’s/jdbc.password/pass1234/g’config.properties
58、統計/var/log下文件(非目錄)的個數
find /var/log -typef | wc-l
59、統計出yum安裝的apache的訪問日志access_log中訪問量最多的5個IP
cat/var/log/httpd/access_log|awk’{ips$1++}END{for(iinips){print$iips\i}}’|sort-rn-k2|head-5
60、實現用用戶輸入入用用戶名和密碼,當用用戶名為ye或sk且密碼為123時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入入三次
for i inrange(3):
u=input("user>:")
p=input("pwd>:")
if u=="yg"or u=="sk"and p=="123":
print("登陸成功")
break
else:
print("登陸失敗")
-----------------------------11月8號更新-----------------------------------------------------------------
61、主從原理是什么
從庫生成兩個線程,一個I/O線程,一個SQL線程;
i/o線程去請求主庫 的binlog,並將得到的binlog日志寫到relay log(中繼日志) 文件中;
主庫會生成一個 log dump 線程,用來給從庫 i/o線程傳binlog;
SQL 線程,會讀取relay log文件中的日志,並解析成具體操作,來實現主從的操作一致,而最終數據一致;
62、mysql 用了什么引擎
Innodb引擎
MyIASM引擎
63、主從同步異常怎么解決
設置MySQL雙一模式,將需要同步的數據保存到磁盤中。
innodb_flush_log_at_trx_commit
如果innodb_flush_log_at_trx_commit設置為0,log buffer將每秒一次地寫入log file中,並且log file的flush(刷到磁盤)操作同時進行.該模式下,在事務提交的時候,不會主動觸發寫入磁盤的操作。
如果innodb_flush_log_at_trx_commit設置為1,每次事務提交時MySQL都會把log buffer的數據寫入log file,並且flush(刷到磁盤)中去.
如果innodb_flush_log_at_trx_commit設置為2,每次事務提交時MySQL都會把log buffer的數據寫入log file.但是flush(刷到磁盤)操作並不會同時進行。該模式下,MySQL會每秒執行一次 flush(刷到磁盤)操作。
sync_binlog
sync_binlog 的默認值是0,像操作系統刷其他文件的機制一樣,MySQL不會同步到磁盤中去而是依賴操作系統來刷新binary log。
當sync_binlog =N (N>0) ,MySQL 在每寫 N次 二進制日志binary log時,會使用fdatasync()函數將它的寫二進制日志binary log同步到磁盤中去。
64、主從同步,主服務器宕機怎么處理
可用keepalived做主從,主宕機可以切到優先級高的服務器,讓優先級高的服務器做主。
65、數據庫完整備份增量備份命令
MySQLdump -uroot -ppassword 1601G > backup.bak
MySQLdump -uroot -ppassword 1601G >> backup.bak
66、數據庫備份與還原
mysqldump命令做備份
mysql命令做還原
67、mysql 優化做了哪些
MySQL內核優化
MySQL配置參數優化,此優化需要進行壓力測試來進行參數調整
對SQL語句以及表優化