自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

教你調(diào)整服務器變量 適應企業(yè)個性需求

數(shù)據(jù)庫 MySQL 數(shù)據(jù)庫運維
不同的企業(yè),對于數(shù)據(jù)庫可能會提出不同的個性化需求。為了滿足不同企業(yè)在這方面的要求,在MySQL數(shù)據(jù)庫中提出了服務器變量的概念。

不同的企業(yè),對于數(shù)據(jù)庫可能會提出不同的個性化需求。如日期顯示的格式等等。為了滿足不同企業(yè)在這方面的要求,在MySQL數(shù)據(jù)庫中提出了服務器變量的概念。通過對這些變量進行調(diào)整,數(shù)據(jù)庫管理員可以建立起一個符合企業(yè)實際情況的應用環(huán)境。在這里,筆者就結(jié)合自己的工作經(jīng)驗,談談如何對服務器變量進行調(diào)整,以及相關的注意事項。

  一、查看系統(tǒng)現(xiàn)有變量的值

  數(shù)據(jù)庫管理員如果需要對服務器變量進行調(diào)整,首先需要對現(xiàn)有的變量以及相關值有所了解。用戶可以通過使用命令show variables來查看系統(tǒng)中可用的變量以及默認值。不過系統(tǒng)的變量有200多個,查找起來比較麻煩。為此,用戶可以通過使用like查詢條件加上通配符來進行快速查找。如下圖所示,筆者使用了’date%’,系統(tǒng)就會列出所有以date開頭的變量名。這與SQL語句中的查詢條件非常的類似。

 

  使用通配符與Like關鍵字可以幫助數(shù)據(jù)庫管理員迅速定位相關的變量。不過在使用通配符時,需要注意,兩邊的單引號不能夠忘記。否則的話,系統(tǒng)就會報錯。其次,在這個命令行環(huán)境下,對于大小寫是不敏感的。也就是說,’date%’與’Date%’兩個是等價的。這對于一些大小寫不分的數(shù)據(jù)庫管理員來說,是一個不錯的特性。不過在輸入條件語句時,有一個細節(jié)需要注意,即空格。在查詢時,系統(tǒng)不會自己過濾空格。’date%’與’ date%’兩個語句有什么區(qū)別嗎?粗粗的一看,好像是相同的。其實兩個是不同的內(nèi)容。后面一個在date前面有一個空格,而***個沒有。此時從數(shù)據(jù)庫中得到的結(jié)果也是截然相反。由于系統(tǒng)變量前面都沒有空格,所以采用后面一個語句,將查不到任何可用的變量。為此在查詢時,需要注意空格對查詢語句的影響。

  二、區(qū)分全局變量與會話變量

  在開發(fā)環(huán)境中,變量一般會有全局變量與局部變量的區(qū)分。兩者核心的差異就是作用域不同。對于MySQL數(shù)據(jù)庫來說,也有這方面的定義。MySQL數(shù)據(jù)庫的變量可以分為全局變量與會話變量。兩者的主要區(qū)別也在于作用域的不同。

  全局變量,顧名思義,會影響到服務器的全局操作。在數(shù)據(jù)庫服務器啟動的過程中,系統(tǒng)會將所有全局變量初始化為默認值。當然,數(shù)據(jù)庫管理員可以根據(jù)需要,在選型文件或者命令行中指定相關的選項來更改這些默認值。即使在服務器啟動之后,數(shù)據(jù)庫管理員仍然可以通過執(zhí)行Set Global 變量名的方式來更改動態(tài)全局變量。

  會話變量只是針對某個特定的會話有效,而不會對其他會話產(chǎn)生影響。服務器還會為每個客戶端連接維護會話變量。在連接時,如果沒有為某個特定的會話設置值的話,系統(tǒng)會用全局變量來初始化會話變量。同樣,用戶也可以通過Set Session 變量名來更改動態(tài)會話變量。

  在對全局變量或者會話變量進行更改時,需要注意權限問題。如果對全局變量進行更改,則需要注意,用戶必須要有Super權限。但是如果對會話變量進行更改的話,則默認情況下不需要特殊權限。也就是說,用戶可以更改自己會話的變量,但是不能夠更改其他客戶的會話變量。不過通常情況下,并不建議用戶更改相關的會話變量。

三、更改后的生效時間

  全局變量或者局部變量更改后,什么時候生效呢?這又是數(shù)據(jù)庫管理員需要關注的內(nèi)容。在講解這個知識點時,筆者還是需要強調(diào)一下,各位要關注全局變量與會話變量的差異。只有掌握這個差異之后,對于變量更改的生效時間才會有更加深刻的認識。

  對于全局變量來說,通常情況下,任何訪問全局變量的客戶端都可以看見對全局變量的更改。當全局變量進行更改時,它只影響在更改后連接的從該全局變量初始化相應會話變量的客戶端,而不會影響已經(jīng)連接上的客戶端的會話變量,即使是執(zhí)行了Set語句來更改也是如此。這主要說明了兩點。一是全局變量的更改,并不像其他系統(tǒng)一樣,需要重啟系統(tǒng)后才會生效。不重新啟動數(shù)據(jù)庫系統(tǒng)也會生效。二是對于當前已經(jīng)連接的客戶不會生效,而只會對更改后的新會話有效。為此如果要測試某個全局變量的更改是否生效,數(shù)據(jù)庫管理員不需要重新啟動服務器,只需要新建一個會話就可以進行測試。測試完成后,如果確定需要使用這個更改,也不需要重新啟動服務器。只需要先關閉當前的所有會話,讓用戶重新建立會話即可。

  與此類似,會話變量更改之后,也不需要重新啟動服務器即可生效。不過會話變量又與全局變量不同,其只對自己的會話有效。這也就是說,會話變量更改之后,在當前會話中就會有效。

  如果數(shù)據(jù)庫管理員要同步全部的應用環(huán)境,如整個信息化應用采用相同的時間格式,在這種情況下,筆者建議采用全局變量,而不是會話變量。比較會話變量的作用域比較有限。

  四、更改后的測試與備份

  無論是全局變量還是會話變量,更改后都會有一個測試的過程。對于全局變量更改的測試,筆者建議先采用小范圍內(nèi)的測試。如更改了日期顯示格式之后,為了測試其有效性,筆者建議數(shù)據(jù)庫管理員先建立一個新的會話,然后查看更改是否生效。而不要先急著重置所有的會話。如此的話,萬一更改失敗或者不理想,因為不會影響到已連接的會話(只會對更改后的新會話起效),就可以將不利影響控制在最小的范圍之內(nèi)。不過這么做還需要控制整個時間。如這個時間間隔拖了很長,如一天24個小時,此時就會出現(xiàn)問題。如財務部門是在更改之前就連結(jié)了,而采購部門有一個用戶是在更改之后再連接的。此時兩個不同的用戶導出來的表格上,時間顯示的格式就可能不同。這會造成一定的誤導??梢姡@個策略有利也有弊。數(shù)據(jù)庫管理員,應該將這個測試的時間盡量縮短。如果測試的時間比較長的話,那么***再搭建一臺服務器進行測試,而不要在生產(chǎn)服務器上直接進行測試。

  另外,對于更改后的配置,***進行獨立的備份。這里的備份并不是對數(shù)據(jù)庫的整體備份,而是說對配置文件的備份。而且還需要做好詳細的說明。如為什么要進行這個調(diào)整、調(diào)整的時間點是什么。

  為了保持應用前后的一致性,這個調(diào)整的時間其實也有講究的。一般情況下,不要在一個工作日的中間進行調(diào)整。如中午12點進行調(diào)整等等。如此的話,就會導致上午與下午的單據(jù)出現(xiàn)混亂。在某些特殊的應用中,可能對這個調(diào)整的時間會有更加嚴格的要求。如對于財務軟件的后臺數(shù)據(jù)庫,則相關全局變量的調(diào)整,可能需要考慮到會計期間的問題。其只能夠在月末或者年末進行調(diào)整。所以對某個全局變量進行調(diào)整時,因為會對全部用戶產(chǎn)生影響,為此在更改之前,需要征求所有用戶的意見。然后根據(jù)企業(yè)的實際情況與用戶的要求,選擇一個合適的調(diào)整時間。通常情況下,一個比較有經(jīng)驗的數(shù)據(jù)庫管理員,會了解更改哪些全局變量會對最終用戶產(chǎn)生影響,而哪些全局變量只是對系統(tǒng)維護有影響。然后就會根據(jù)需要更改變量的影響范圍,去判斷是否需要經(jīng)過最終用戶的確認。如果能夠做出這樣的判斷,那是***??蓪τ脩舻挠绊懡档偷?**程度。

【編輯推薦】

  1. 如何解決IBatis.net與MySQL連接問題
  2. 用Myisamchk讓MySQL數(shù)據(jù)表更健康
  3. MySQL數(shù)據(jù)庫的優(yōu)化(上)單機MySQL數(shù)據(jù)庫的優(yōu)化
  4. MySQL數(shù)據(jù)庫的優(yōu)化(下)MySQL數(shù)據(jù)庫的高可用架構(gòu)方案
  5. Facebook是怎么做MySQL備份的? 
責任編輯:艾婧 來源: ITPUB
相關推薦

2010-09-08 21:45:52

企業(yè)郵箱網(wǎng)絡通信263郵箱

2021-12-13 07:50:13

企業(yè)安全彈性

2012-02-24 10:28:15

刀片服務器數(shù)據(jù)中心

2013-11-12 14:45:32

服務器性能服務器

2009-09-24 15:55:12

打印服務器

2014-04-22 10:04:50

服務器VDI

2009-09-17 13:42:48

WSUS服務器

2009-02-20 14:54:16

服務器虛擬化VoIP

2012-02-07 10:25:50

2012-12-27 10:17:21

云服務器

2013-01-04 13:28:23

云服務器SaaSPaaS

2016-07-04 16:21:54

服務器提速寶德“小超人”

2010-01-11 16:53:16

2013-07-05 09:46:59

云服務器部署云服務器vCPU

2009-02-04 21:59:15

服務器 SSD固態(tài)硬

2010-09-29 13:48:49

配置DHCP服務器

2009-12-02 15:25:31

Linux郵件服務器

2012-02-27 15:44:12

存儲服務器寶通

2011-08-10 09:56:31

2012-12-13 11:05:42

IBMdW
點贊
收藏

51CTO技術棧公眾號