此篇目编写两个核心目的:
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%in mysqld.exe --remove mysql mysqld.exe --install mysql echo start mysql Serviceo "%SystemRoot%"system32 et 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%in mysqld.exe --remove mysql mysqld.exe --initialize //添加这一行 mysqld.exe --install mysql echo start mysql Serviceo "%SystemRoot%"system32 et 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%in "%SystemRoot%"system32 et stop mysql mysqld.exe --remove mysql
OK了
谢谢你阅读
[小花儿送给你]
下一篇:连接mysql && ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)