Linux:DLAN Server

install minidlna

change setting

other info

default port 8200

Mysql:5.7 sql_mode 新預設值

通常遇到升到5.7 ,又沒改default value,會碰到2個問題

  • datetime default value 是 0000–00–00 00:00:00 不給建table
  • group by 在 select 中,必需明確定義(不能是只是‘*’)

都不難解,但取決於是開發階段還是升級,開發階段就改code 符合mysql 吧, 嚴謹總是比較好!
至於升級… 訂定目標吧
無奈解法:改回5.6 的預設值(記得也要修改mysql.cnf):

Mysql 5.7 預設 sql mode 說明

ONLY_FULL_GROUP_BY

在嚴格模式下,不要讓GROUP BY部分中的查詢指向未選擇的列,否則報錯。

NO_ZERO_DATE

在嚴格模式,不要將’0000–00–00’做為合法日期。你仍然可以用IGNORE選項插入零日期。在非嚴格模式,可以接受該日期,但會生成警告。

NO_ZERO_IN_DATE

在嚴格模式,不接受月或日部分為0的日期,對年不限制。如果使用IGNORE選項,我們為類似的日期插入’0000–00–00’。在非嚴格模式,可以接受該日期,但會生成警告。

ERROR_FOR_DIVISION_BY_ZERO

在嚴格模式,在INSERT或UPDATE過程中,如果被零除(或MOD(X,0)),則產生錯誤(否則為警告)。如果未給出該模式,被零除時MySQL返回NULL。如果用到INSERT IGNORE或UPDATE IGNORE中,MySQL生成被零除警告,但操作結果為NULL。

NO_AUTO_CREATE_USER

在嚴格模式下,防止GRANT自動建立新使用者,除非還指定了密碼。

NO_ENGINE_SUBSTITUTION

如果需要的儲存引擎被禁用或未編譯,可以防止自動替換儲存引擎。

STRICT_TRANS_TABLES

為事務儲存引擎啟用嚴格模式,也可能為非事務儲存引擎啟用嚴格模式,非法資料值被拒絕,下面有詳細說明。

嚴格模式控制MySQL如何處理非法或丟失的輸入值。有幾種原因可以使一個值為非法。例如,資料型別錯誤,不適合列,或超出範圍。當新插入的行不包含某列的沒有顯示定義DEFAULT子句的值,則該值被丟失。

對於事務表,當啟用STRICT_ALL_TABLES或STRICT_TRANS_TABLES模式時,如果語句中有非法或丟失值,則會出現錯誤。語句被放棄並滾動。

對於非事務表,如果插入或更新的第1行出現壞值,兩種模式的行為相同。語句被放棄,表保持不變。如果語句插入或修改多行,並且壞值出現在第2或後面的行,結果取決於啟用了哪個嚴格選項:

對於STRICT_ALL_TABLES,MySQL返回錯誤並忽視剩餘的行。但是,在這種情況下,前面的行已經被插入或更新。這說明你可以部分更新,這可能不是你想要的。要避免這點,最好使用單行語句,因為這樣可以不更改表即可以放棄。

對於STRICT_TRANS_TABLES,MySQL將非法值轉換為最接近該列的合法值並插入調整後的值。如果值丟失,MySQL在列中插入隱式 預設值。在任何情況下,MySQL都會生成警告而不是給出錯誤並繼續執行語句。

嚴格模式不允許非法日期,例如’2004–04–31’。它不允許禁止日期使用“零”部分,例如’2004–04–00’或”零”日期。要想禁止,應在嚴格模式基礎上,啟用NO_ZERO_IN_DATE和NO_ZERO_DATE SQL模式。

如果你不使用嚴格模式(即不啟用STRICT_TRANS_TABLES或STRICT_ALL_TABLES模式),對於非法或丟失的值,MySQL將插入調整後的值並給出警告。在嚴格模式,你可以通過INSERT IGNORE或UPDATE IGNORE來實現。

服務層級協議(Service Level Agreement;SLA)

服務層級協議(Service Level Agreement;SLA)

Internet 的盛行,各個不同產業的商務模式也面臨不同的考驗,對於資通訊( ICT ) 在企業的依賴是愈來愈高了,也因為資訊化所產生的商機,客戶端的需求與要求也考驗著ICT業者的服務內容。業界也因不同的客戶需要,服務層級協議(Service Level Agreement;SLA)也配合客戶之所需 而內容提供者也有所不同。

SLA為服務層級協議:指的是服務提供者與使用客戶之間,應就服務品質、水準以及性能等方面達成協議或訂定契約。在設立SLA時,服務提供者首要之務,就是與使用者達成共識,決定整體方法與指導原則,並加以標準化。在SLA起頭階段,最重要的就是給使用者適當的期待,先有簡單的事情著手(如合約),而非一開始就處理太多細節。 企業或機構更因為導入SLA而更需有優化整體管理流程。在設定SLA時,1. 可讓SLA必須以服務為導向,而且這樣的服務可以創造商業利益。2.制定SLA時,成本、價格以及服務內容應透明化。3.力求簡單明瞭,細節過多容易造成資料更新時的負擔。4.排列優先順序,首重為企業創造價值,避免分散焦點。5.盡快開始評估關鍵績效指標(KPI)。6. 應設立明確的服務經理人。 過往由於各使用部門不甚瞭解IT運作邏輯,容易對系統產生不切實際的期待,以至於訂立的SLA過高。SLA訂得越高,代表系統的運作效能與可靠度都必須增加,勢必得大幅提高採購成本支出;然而,一般情況下,這樣的採購預算不易得到老闆的支持,因此IT部門往往無從落實這些SLA目標。不過,現在透過SLA管理軟體,可先瞭解各個系統實際的狀況,再進行修正,讓SLA較容易落實,且SLA的效益也較容易被看到。 隨著網際網路與電子商務的盛行,企業對電子化與網路化的需求也愈來愈重視,然而因其資訊技術變遷快速,加上企業自行培育人力不易,故企業主遂將非本業專長之資訊技術業務,委由其他專業的機構來代管 (Out Sourcing ),讓企業更可專注於本業的發展。服務水準協定(SLA:Service-Level Agreements)

服務水準協定(SLA) 有應當要詳述欲注意的事項有 :

1.制訂企業所需的服務項目

將企業需求的服務項目明確訂出。

2.慎選廠商的準則

企業主在選擇供應商時,可經由各供應商所交付的服務水準協定(SLA)說明項目,比較服務水準和服務能力,來做為選擇供應商的基本依據。

3.建立溝通平台,強化合作的關係

供應商於規劃製作服務水準協定(SLA)的過程中,蒐集整理現行作業需求,可以更瞭解企業整體作業流程、系統需求,藉此增加雙方的互動,建立企業主對於未來專案的信心,強化雙方溝通管道,及早建立互信的機制,將有助於未來專案的進行。

4.提昇原有的技術資源服務

可讓企業主藉由供應商專業的技術能力,提供更廣泛、安全及完整的服務,並減少人員異動交接時的重置成本。

5.明確的預算與成本的管理

服務水準協定(SLA)中明確記錄各項服務費用,可藉此監督成效,以確保委外服務作業可行性及有效性。

6.時效溝通性

供應商與企業主可以根據服務水準協定(SLA)所訂定的時間,協商修改、調整、改善或終止。

7.法律效力

委外服務作業,性質上近似於民法上之承攬契約,具有法律效力,雙方同意的服務水準及內容均必須清楚詳細記錄,但也要保持適度的變通性,以因應企業主的需求。

供應商提供服務水準協定的選擇也要考量能力、成本、及風險這三個要素,評估的不僅是供應商的專業能力,同時也必須瞭解企業需求項目內容、預算金額,及企業所願意承擔的風險,於其中取得平衡,方可達到雙贏的目標。

 

ex : Google Apps SLA