此篇目編寫兩個核心目的:
1、mysql服務啟動腳本(start_mysql.bat),mysql服務停止腳本(stop_mysql.bat)的講解。
2、解決問題:mysql服務無法啟動。
操作流程:
一、解壓縮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
原因如下:
問題:安裝MySQL_5.7.22(5.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 //啟動服務
//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腳本,效果如下
注意:生成data目錄后,記得先關閉mysqld.exe服務,然后刪除掉start_mysql.bat腳本里添加的 mysqld.exe --initialize 這一行。以后使用start_mysql.bat不再需要初始化這一步驟。
OK了 ,下面講一下mysql停止服務
二、在解壓后的目錄里,創建stop_mysql.bat腳本,腳本內容和cmd運行結果如下
echo off set path=%~dp0 echo remove mysql service... echo stop mysql Service cd %path%\bin\ "%SystemRoot%"\system32\net stop mysql mysqld.exe --remove mysql
OK了
謝謝你閱讀
[小花兒送給你]
下一篇:連接mysql && ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)