天天看點

Windows MySQL 更新步驟和常見問題

請先備份好資料和 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 的【服務】視窗。

Windows MySQL 更新步驟和常見問題

解壓新版本的 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 服務,之後就沒有問題了。