1. 程式人生 > >問題:mysql服務正在啟動 mysql服務無法啟動 && mysql啟動指令碼 mysql關閉指令碼

問題:mysql服務正在啟動 mysql服務無法啟動 && mysql啟動指令碼 mysql關閉指令碼

操作流程:

  1、解壓縮mysql_x64(mysql-5.7.22-winx64.zip)包,拷貝start_mysql.bat指令碼到解壓目錄,cmd方式執行指令碼結果如下

 

//start_mysql.bat指令碼內容

echo off set path=%~dp0 echo install mysql service... echo %path% cd %path%\bin\ mysqld.exe --remove mysql mysqld.exe --install mysql echo start mysql Serviceo "%SystemRoot%"\system32\net start mysql

 

 

//start_mysql.bat修改如下
echo off set path=%~dp0 echo install mysql service... echo %path% cd %path%\bin\ mysqld.exe --remove mysql mysqld.exe --initialize //新增這一行 mysqld.exe --install mysql echo start mysql Serviceo "%SystemRoot%"\system32\net start mysql

再次執行start_mysql.bat指令碼,效果如下

 

原因如下:

問題:安裝MySQL_5.7.225.7.12也是如此)版本,在註冊服務mysql.exe install --mysql後,執行net start mysql ,啟動失敗。

根源:因為5.7版本後,壓縮包裡不再有舊版的data目錄了,需要執行mysql.exe --initialize命令做初始化,手動的生成data目錄。
官方的解釋為:
As of MySQL 5.7.6, the Zip Archive no longer includes a data directory.
To initialize a MySQL installation by
Creating the date directory and populating the tables in the mysql system database,
initialize MySQL using either --initialize or initialize -insecure.
For additional information, see Section 2.10.1.1, "initializing the Data Directory Using mysql".

mysql.exe --remove mysql //移除服務
mysql.exe --initialize //初始化
mysql.exe --install mysql //註冊服務
mysql.exe -- net start mysql //啟動服務