MySQL脚本自动化安装

文章描述了一个在Windows环境中,使用install.bat脚本进行MySQL5.7.26的自动化安装过程,包括判断服务状态、删除配置文件、自定义配置、添加环境变量、初始化数据库、安装服务以及设置root用户密码。
摘要由CSDN通过智能技术生成

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

效果:

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值