insoler有很長的一段時間是使用OS X El Capitan 10.11.6與MySQL 5.6.37。雖然我有試過升級到MySQL 5.6.38,但是穩定性並沒有更好,所以又降級回到MySQL 5.6.37。
目前的BNW網站的Mac mini伺服器主機,因為2.53GHz Intel Core 2 Duo (Late 2009) 將近10年前的電腦,無法升級到10.12以上的系統版本,所以只能維持在最後的OS X El Capitan 10.11.6。目前安裝的資料庫版本是比較新一點點的MySQL 5.6.38。
為了不影響insoler網站的正常運作,我把整台MySQL主機複製到2.5吋的500GB USB 3.0外接硬碟,再使用備用的Mac mini Server主機來進行升級的測試。這是在不改變MySQL的版本下,把作業系統升級到比較新的macOS High Sierra 10.13.6。
這是整個Mac視窗畫面,你可以看到作業系統版本是macOS High Sierra 10.13.6,並且可以在MySQL Workbench視窗畫面看到使用是MySQL 5.6.37。這個版本是針對舊的macOS 10.12編譯。由於macOS 10.12是當時的最新版本,在MySQL 5.6.37沒有更新版本的情況下,相同的版本能不能在macOS High Sierra 10.13.6或是macOS Mojave 10.14版本上,Oracle當然不保證,也不可能推薦。Apple當然也不會保證新的macOS 10.14上可以正常執行所有的老舊程式。
由於MySQL 5.6.37已經是相當老舊的版本,所以我在macOS High Sierra 10.13.6上試著安裝目前最新的MySQL 5.7.23版。下載的是mysql-5.7.23-macos10.13-x86_64.dmg。雖然看起來似乎可以在macOS 10.13.6上正常執行。但是insoelr的網頁開啟速度很明顯比MySQL 5.6.37要慢很多!
我並不想知道MySQL 5.7比MySQL 5.6多了哪些功能?甚至是增加了多少的安全性?我沒有任何理由使用跑的更慢的MySQL版本!
我的理由非常簡單,因為海豚系統的PHP程式只會使用基本的MySQL指令,並不會使用只能在MySQL 5.7上才能運作的新指令,因此對我來說,MySQL版本的新舊,我毫無興趣。而且就算是老舊的MySQL 5.6.37也看不出有任何的重大安全性漏洞,當然是決定不升級到MySQL 5.7.23!
另外,因為目前最新的MySQL 8.0.12也無法在macOS High Sierra 10.13.6上匯入備份資料庫,就算使用命令列指令免強匯入,MySQL 8.0.12也會產生錯誤訊息!根本是完全不能使用的版本!
insoler網站在macOS High Sierra 10.13.6試安裝MySQL Community Server 8.0.12
既然老舊的MySQL 5.6.37可以在macOS High Sierra 10.13.6上正常使用,那麼可以在目前最新的macOS Mojave 10.14版本上正常執行嗎?沒人可以回答這個問題,只能自己動手升級、測試看看。
你可以看到我是在Mac mini Server (Late 2012) 主機上安裝全新的macOS Mojave 10.14。要說明的是,並非所有Mac mini都是Server版,只有當年訂購的時候選購Mac mini Server主機,才會在這裡看到主機名稱是Mac mini Server (Late 2012) 字樣。如果是普通的Mac mini,就算安裝Server的App,也只會把macOS變成macOS Server,絕對不會改變主機的名稱,從Mac mini變成Mac mini Server!
在「支援」標籤頁可以看到這是一台薄型的Mac mini主機。
打開macOS的「系統偏好設定」,就會看到MySQL的設定圖是。
打開MySQL就會看到很簡單的畫面。這裡只能停止、啟動MySQL,以及設定在macOS開機時,自動啟動MySQL Server。舊版的設計雖然簡陋,但絕對比目前最新的MySQL 8.0.12好太多了!因為MySQL 8.0.12在這裡提供的Uninstall移除功能,竟然擅自會移除主機上在「/usr/local/」檔案夾安裝的所有程式!
經過測試以後,證實老舊的MySQL 5.6.37仍然可以在最新的macOS Mojave 10.14上正常使用!
不過,MySQL 5.6.37畢竟是針對macOS 10.12編譯,能不能在macOS 10.14上長時間穩定執行?這還是未知數。由於目前最新的MySQL Community Server 5.7.23運作遲鈍,並不是一個好的選擇,所以我想或許花一點時間升級到MySQL Community Server 5.6.41(下載的檔案是mysql-5.6.41-macos10.13-x86_64.dmg)會更好一點,畢竟MySQL 5.6.41是針對macOS 10.13編譯。
所以現在insoler網站的資料庫伺服器主機,已經升級到macOS Mojave 10.14最新版本與MySQL Community Server 5.6.41。
都是最新的版本,只要可以正常的穩定運作,看起來一切都很不錯。然而,我卻在2個星期以後,才發現MySQL Workbench 8.0.12、MySQL Workbench 6.3.10竟然也有無法匯入備份資料庫的重大問題!
事實上,MySQL Workbench與MySQL版本不合的問題,並非第一次,而是已經遇到過N次!這次是最嚴重的「無法匯入備份資料庫」的重大問題!要解決這個問題,只能把MySQL降級回到MySQL 5.6.37,然後繼續等不知道什麼時候才會修正的MySQL 5.6.4x版,或是忍耐著使用命令列的mysql指令。
我想根本不需要花時間測試,在Linux上絕對不會有MySQL Workbench與MySQL版本不合的問題,甚至連Windows上都不會有!只有在macOS上才會遇到各種問題!
最後公布一下我的測試環境。你可以看到在2.5吋500GB USB 3.0外接硬碟上,同時安裝了macOS 10.11.6、macOS 10.13.6、macOS 10.14,三個完全不同的版本!會跳過macOS 10.12是因為這個大改版的新版本比macOS 10.11.6更差,而且也沒有比macOS 10.13好,所以不需要測試macOS 10.12。