請先備份好資料和 my.ini 配置檔案。
下載下傳最新版本的 MySQL,本文使用的壓縮包。
先使用指令解除安裝服務,在 【老版本的】mysql/bin 目錄輸入如下指令:
mysqld --remove [服務名]
預設情況下服務名為 MySQL,可以省略。
mysqld 用法說明:
Usage: mysqld [OPTIONS]
NT and Win32 specific options:
–install Install the default service (NT).
–install-manual Install the default service started manually (NT).
–install service_name Install an optional service (NT).
–install-manual service_name Install an optional service started manually (NT).
–remove Remove the default service from the service list (NT).
–remove service_name Remove the service_name from the service list (NT).
–enable-named-pipe Only to be used for the default server (NT).
–standalone Dummy option to start as a standalone server (NT).
解除安裝時,如果你開着Windows的【服務】,就先關閉服務視窗。如果後面操作時提示沒有解除安裝幹淨,可以使用下面的指令删除服務。
使用
sc query mysql
指令檢視一下名為mysql的服務。
SERVICE_NAME: mysql
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
如果存在就使用
sc delete mysql
删除服務。
删除方法來自:http://www.bkjia.com/Mysql/1162670.html
在删除過程中,確定要關閉 Windows 的【服務】視窗。

解壓新版本的 MySQL,将 my.ini 配置檔案複制到解壓目錄中,根據實際情況修改資料配置路徑:
basedir = D:\Program Files\mysql-5.7.18-winx64
datadir = D:\Program Files\mysql-5.7.18-winx64\data
在【新版本】的 mysql/bin 目錄下面執行指令:
mysqld --install [服務名]
服務名可以省略,預設為 MySQL
安裝完服務後就可以通過
net start mysql
啟動,或者通過【服務】視窗啟動。
啟動後,原先的資料都能通路了,但是如果執行
select version();
檢視版本可能會出現下面的錯誤:
Table ‘performance_schema.session_variables’ doesn’t exist
解決辦法是執行下面的指令:
mysql_upgrade -u root -p --force
輸出如下部分内容:
D:\Program Files\mysql-5.7.18-winx64\bin>mysql_upgrade -u root -p --force
Enter password:
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
然後重新開機 MySQL 服務,之後就沒有問題了。