操作流程:
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.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 //启动服务