1. window环境
目录结构如下
install.bat脚本内容及效果:
需要右键点击“以管理员身份运行”!!!
需要右键点击“以管理员身份运行”!!!
需要右键点击“以管理员身份运行”!!!
- 读取bat文件所在目录,并添加变量“basedir”为:bat文件路径\installs\MySQL5.7.26为mysql的基本目录
- 判断服务MYSQL57是否存在,如果存在运行则退出,如果存在并停止将启动服务并退出,如果不存在则继续执行
- 将删除原my.ini配置文件,自定义配置信息输出到该目录下my.ini
- 然后删除原来的data文件,并重新初始化数据库。
- 启动服务并要求输入root@localhost的密码,更新root用户的密码为输入内容
@setlocal enabledelayedexpansion
@echo off
rem gxwxitech
title MYSQL一键安装
echo.
echo ****************************************
echo.
echo 开始安装MYSQL,请不要关闭窗口
echo.
echo 请以管理员身份运行
echo.
echo ****************************************
pause
set "servicename=MYSQL57"
echo 检查MYSQL是否安装
echo.
for /f "skip=3 tokens=4" %%i in ('sc query !servicename!') do set "zt=%%i" &goto :next
:next
if defined zt (
if /i "!zt!"=="RUNNING" (
echo 已经发现该服务 !servicename! 正在运行,正在退出
pause
exit
) else (
echo 该服务 !servicename! 现在处于停止状态,正在启动服务
net start !servicename!
pause
exit
)
)
echo 服务 !servicename! 未注册,将进行安装
echo.
set "basedir=%~dp0installs\MySQL5.7.26"
set "bin=%basedir%\bin"
cd /d !basedir!
echo.
echo 删除原配置文件
del !basedir!\my.ini
echo.
if exist !bin!\mysqld.exe (
rem 写入配置
>my.ini echo [mysqld]
>>my.ini echo port=3306
>>my.ini echo basedir=!basedir!
>>my.ini echo datadir=!basedir!\Data
>>my.ini echo log-error=!basedir!\Logs.log
>>my.ini echo max_connections=200
>>my.ini echo max_connect_errors=10
>>my.ini echo character-set-server=utf8mb4
>>my.ini echo default-storage-engine=INNODB
>>my.ini echo default_authentication_plugin=mysql_native_password
>>my.ini echo local_infile=ON
>>my.ini echo.
>>my.ini echo [mysql]
>>my.ini echo default-character-set=utf8mb4
>>my.ini echo local_infile=ON
>>my.ini echo.
>>my.ini echo [client]
>>my.ini echo port=3306
>>my.ini echo default-character-set=utf8mb4
rem 添加环境变量
echo 开始检查环境变量...
echo.
for /f "tokens=2*" %%i in ('reg query "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path^|findstr /i "path"') do (set "p=%%j")
for /f "tokens=*" %%a in ('echo !p! ^| find /i "!bin!"') do (set flag=1)
if not defined flag (
echo 开始添加环境变量
setx Path "!p!;!bin!" /M | find "成功" && echo 环境变量添加成功
set "p=!Path!"
) else (
echo 环境变量已存在,无需设置。
)
echo.
rem 初始化 --console
cd !bin!
>!basedir!\Logs.log echo --------初始化数据库开始--------
echo 删除原DATA
rd /s /q %basedir%\data
echo.
echo 开始初始化数据库
md %basedir%\data
mysqld --initialize-insecure
>>!basedir!\Logs.log echo --------初始化数据库结束--------
rem 安装服务
echo 开始安装服务
mysqld --install !servicename! | find "successfully" && echo 服务安装成功
echo.
rem 启动服务
echo 开始启动MYSQL服务
net start !servicename!
echo.
rem 设置密码
echo 请输入新的root用户密码,并回车确认:
set /p newPassword=
mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '!newPassword!'";
echo 安装完成
) else (
echo 请将本工具放在install目录下打开
)
pause >nul
效果: