此篇目编写两个核心目的:
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脚本内容
echooff
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了
谢谢你阅读
[小花儿送给你]