對於使用Linux或是Windows Server來架設網站的站長們、IT管理人員來說,應該都是認為為了避免因為重大安全性漏洞導致駭客入侵,竊取網站上的資料,都要盡快更新到系統的最新版本,無論是Linux、Windows Server系統本身,還是Flash Player、Java、Apache、PHP甚至是MySQL Server大概都會使用最新版本。雖然也有某些站長為了某些理由,比如XOOPS系統本身無法在最新的PHP 7上面執行,只好故意在Linux上面安裝老舊的PHP 4來架設網站。
我則是注重在系統的穩定性,所以我通常不會立即升級到最新的版本,除非那個版本一開始就沒有什麼重大的安全性漏洞,重大的問題等。但事實上就算是世界上最安全的Mac OS X Server,也會有一些安全性漏洞,重大的問題等,所以直到今年才升級到Mac OS X 10.10,而不是升級到最新的Mac OS X 10.11。
當然,MySQL也不是升級到最新的5.7.x版,而是繼續使用舊的5.6.x版。除了我以外,沒有任何人可以看到Mac OS X Server電腦主機上的情況,更不可能看到MySQL的運作情況,所以沒有人知道,其實自從insoler網站升級到Dolphin 7.3最新版本,系統也升級到Mac OS X Server 10.10.5,我幾乎每隔幾天,甚至每天都在更換不同版本的MySQL!從目前最新的MySQL 5.7.12,一路換到老舊的MySQL 5.6.13!
以前的MySQL團隊原本就不重視Mac OS X環境,只專注在Linux與Windows!現在換成Oracle其實情況完全相同!忽視Mac OS X的想法,從來都沒有改變過!
雖然MySQL Community Server 5.7.12號稱Packages for El Capitan (10.11) are compatible with Yosemite (10.10) and Mavericks (10.9).同時支援Mac OS X 10.9〜10.11,但其實我在OS X 10.10.5上面安裝好MySQL Community Server 5.7.12,匯入備份的insoler.sql資料庫檔案,就在insoler發現了重大的問題!
這個重大問題就像這樣:
對一般人來說,可能完全看不出上面這個畫面有什麼樣的重大問題?所以... 提醒你一下,請特別留意一下照片的檔案名稱順序!
正確的情況應該是底下這個樣子才對:
上面的情況是我重新安裝目前最新的MySQL Community Server 5.6.30版本的結果。事實上這個才是正確結果!你只要注意一下照片的檔案名稱的順序,應該會發現正確的順序是按照上傳時間「最近」(不是按照照片的拍攝時間,但通常都會是照片的拍照順序)也就是「最新」上傳的順序往後排列,所以正確的順序應該是9796、9795、9794、9793、9792、9791這樣的順序才對。最後拍攝的一張照片,最後上傳的一張照片,會放在insoler的左上角,成為最新的一張照片。
但是,一旦升級到最新的MySQL Community Server 5.7.12版本的話,照片的順序就變得亂七八糟!這還只是可以看到的重大問題!其他問題還可以從mysqld.local.err的Logs記錄檔案裡面看到。但就算解決了mysqld.local.err裡面的所有ERROR、Warning問題也沒用!因為MySQL 5.7.12絕對還有更多看不到的重大問題!我不可能等到發覺其他的重大問題以後,再重新安裝舊版的MySQL Community Server 5.6.30!因為等到那個時候,很可能資料庫的內容已經變得亂七八糟!
所以我立即決定安裝舊的MySQL Community Server 5.6.30,重新匯入之前備份的insoler.sql。而不是在MySQL 5.7.12重新匯出最新的資料庫內容到insoler.sql,再把這個可能含有重大問題的insoler.sql匯入到舊的MySQL 5.6.30!
雖然insoler目前是使用MySQL Community Server 5.6.30,但不表示這個版本就「極其穩定」!要至少觀察一個星期,甚至是一個月以上,從MySQL Warkbench裡面觀察看看MySQL的Running Since能不能超過1個月以上,而不會有任何問題,甚至是資料庫當機!
看到今天的這個新聞...
甲骨文更新修補漏洞史上第二多,MySQL出現31項漏洞,是甲骨文所有產品之冠
甲骨文發佈四月重大修補程式更新,共修補包括Oracle Database、MySQL、Solaris、Java及EBusiness Suite、Solaris、PeopleSoft等產品的136項重大漏洞,呼籲用戶儘速升級到最新版本。
這次重大修補程式更新也是甲骨文首次使用該公司通用弱點評分標準(Common Vulnerability Scoring Standard,CVSS)3.0版。同時這次修補的數量也是僅次於一月的安全更新,當時破紀錄修補了248項漏洞。
本季MySQL 漏洞出現31項漏洞,是甲骨文所有產品之冠,包括4個可能遭遠端執行程式碼入侵的漏洞,並有2個CVSS分數高達9.8。
對我來說根本就是天大的笑話!對我來說就算「MySQL 漏洞出現31項漏洞,是甲骨文所有產品之冠」的所有漏洞都修補好了,也絕對沒有把客戶的MySQL資料庫內容弄得亂七八糟,甚至還有其他更重大的隱藏問題,導致無法正常匯出所有資料到insoler.sql來的嚴重!
對於「甲骨文」無視「使用者、客戶的MySQL資料庫內容的完整性、正確性」(更嚴重可能會毀損整個資料庫檔案)更無視「MySQL Server伺服器本身的穩定性」(必須幾乎不會當機,除非系統當機或是電腦損壞),只顧修補安全性漏洞,可說是非常的荒謬可笑!
我的意思不是不要修補安全性漏洞,而是必須在前面兩個重要的前提下,絕對不能因為修補漏洞,就導致MySQL Server常常當機,甚至是毀損使用者、客戶的整個資料庫檔案!然而,在超過20年的MySQL歷史,MySQL很顯然不太重視我提到的這兩個重要的前提!特別是Mac OS X版本。