背景:python
Mysql 8.0 之後版本,在性能等方面有了很大提高,並且在自動編號、Timestamp等字段的設置上有了很方便的進步,所以在一年前即開始將原有的基於5.5版本的服務器逐漸向8.0.x 轉移。但轉移的過程問題頗多,主要的幾個障礙以下:mysql
一、須要各類visual c++ 的可發佈版本;(8.0之後的小版本要求有所不一樣)c++
二、須要python 3.7版本。(8.0之後的小版本要求有所不一樣)sql
第一次安裝時相對順利,可能的緣由是該服務器是一個「乾淨」的服務器,並且安裝的是8.0.16版Mysql community Server要求較少;數據庫
而第二次安裝則經歷了一天一晚上才安裝完成,且使用了非同尋常的手段。下面以第二次安裝的結果爲例說明我是如何操做的。服務器
第二次安裝的基本環境以下:框架
一、操做系統:Wiindows Server 2012 R2 標準版;操做系統安裝了最新補丁。性能
二、之前安裝過Mysql 5.5.57版本;網站
三、目標安裝版本:Mysql 8.0.19 community server spa
下面將我認爲的較可行的方案記錄以下,你們可做參考。
1、.Net Framework 4.5.2版本
這個是一切安裝的前提,能夠先行安裝,且與其它不衝突。
2、visual c++系列運行時文件
8.0.19版本要求:Visual c++ 運行庫的20十、201三、2015以及2015-2019版本。
這些運行時文件從微軟的官方網站下載存在困難,且基本安裝不成功。緣由多是:
一是可能與操做系統有關,下載的版本大都提示不適用於當前操做系統(可能主要是用於Win 7 或 Win 10等客戶端操做系統);
二是會提示須要安裝 KB2919355 更新後,才能安裝。
所以應當先安裝下一步。
3、KB2919355更新文件
KB2919355 更新文件下載後,直接安裝仍然報錯,提示是須要先安裝 KB2919442更新。
而KB2919442 更新從微軟官網下載不了,提示文件不存在。
最後從網上找了一個KB2919442(具體是哪位發佈者和網站,確實不記得了),最後成功安裝,然後安裝了 KB2919355 。
4、安裝Visual C++ 運行庫文件
因爲從官方下載的始終安裝不成功,最後下載的是一個網上的打包後的文件,能夠一次性安裝全部運行時文件。(雖然成功安裝,但實際上這些庫文件與安裝和運行 mysql 所要求的文件仍有區別,具體見後)
5、安裝Mysql
前面的都在沒有錯誤提示的狀況下安裝成功,Mysql 8.0.19的安裝過程也沒有問題,但在配置時出錯,mysqld.exe 沒法啓動,初始化數據庫不成功。
卸載重裝依然如此;先安裝 8.0.16 問題一樣存在,均是在初始化數據庫時報錯,致使安裝失敗。
在經歷了無數次的卸載、安裝;舊版本安裝、卸載;註冊表清理、刪除後,問題依然如故。
後來想,既然它要求安裝visual c++ 庫,那這個問題應該仍是和這幾個文件有關,倒不如直接安裝一個 visual studio 2019,若是可以成功安裝,那這些庫應該就都沒有問題了。因而下載 visual studio 2019進行安裝(須要聯網、須要具有 KB2919355更新,方能進行安裝;可選幾個安裝文件小的選項安裝便可,建議選中 python 選項)。
成功安裝後,再回過頭來,安裝 Mysql 8.0.19 ,一切順利,啓動也正常。
8.0.19 要求 python.exe 3.7版本,安裝 visual studio 時能成功安裝(可能須要選擇 python 選項)
6、本次安裝用到的文件以下:
.Net 4.5.2框架
KB2919442
KB2919355
Visual C++ 系列運行庫
其它內容都可從官網下載。
上述文件已放在個人百度網盤,請參考下載。連接: https://pan.baidu.com/s/1bpmX0Djjol_xudVKOO2Gzg 提取碼: jafs
文件說明:網盤中的文件要多一些,你們可做參考。
----------------
總結:
一、mysql 對微軟的運行時庫有如此強烈的依賴,卻不打包進去,固然是有緣由的;但如此重量級的兩個公司,竟然沒有一個好的安裝包解決這些問題,實在使人費解。
二、Visual Studio 安裝後能夠卸載,不影響運行;另外,也許能夠從 Visual studio 的安裝包提取到相關文件,你們有興趣能夠一試。