使用BAT脚本实现一键配置Mysql服务器和开启远程服务

使用BAT脚本实现一键配置Mysql服务器和开启远程服务

请将下述文件全部放在一个文件夹中,修改脚本开头的文件路径参数到本地对应路径
执行initSQL.bat即可配置并开启服务,配置完成后只需要执行startServer.bat开启服务,执行stopServer.bat关闭服务即可
removeSQL.bat用于重新安装服务器和一键删除服务器数据

  1. 配置服务器initSQL.bat

    @echo off
    ::------需要修改内容,'='左右侧不能有空格------
    :: sql所在路径
    set SQLDir=C:\MySQL\mysql-8.0.30-winx64
    ::该BAT和其他BAT所在路径
    set BatsDir=C:\Users\kono707da\IdeaProjects\MavenTest\src\main\java\bats
    ::数据库root账户的密码
    set SQLPasForRoot=root
    ::数据库用户的用户名
    set SQLNameForUser=kono707da
    ::数据库用户的密码
    set SQLPasForUser=password
    ::------------------------------
       :: 修改中文乱码
    chcp 65001
    @echo ---[尝试获得管理员权限]---
    %1 C:\windows\system32\.\mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
    if %errorlevel% == 0 (
        echo ---[尝试获得管理员权限:成功]---
    )
        echo ---[尝试开启mysql服务]---
    C:\windows\system32\.\net start mysql
    if %errorlevel% == 0 (
        echo ---[尝试开启mysql服务:成功]---
        exit
    )
    echo ---[尝试开启mysql服务:失败]---
    echo ---[尝试安装mysql服务]---
    %SQLDir%\bin\.\mysqld --install
    if %errorlevel% == 0 (
       echo ---[尝试安装mysql服务:成功]--- 
    )
    echo ---[尝试写入配置文件]---
    (echo [mysqld]
    echo # 设置3306端口
    echo port=3306
    echo # 设置mysql的安装目录
    echo # 切记此处一定要用双斜杠\\,单斜杠我这里会出错
    echo basedir=%SQLDir%
    echo # 设置mysql数据库的数据的存放目录
    echo datadir=%SQLDir%\\MyDatabase
    echo # 允许最大连接数
    echo max_connections=200
    echo # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    echo max_connect_errors=10
    echo # 服务端使用的字符集默认为UTF8
    echo character-set-server=utf8
    echo # 创建新表时将使用的默认存储引擎
    echo default-storage-engine=INNODB
    echo # 默认使用“mysql_native_password”插件认证
    echo default_authentication_plugin=mysql_native_password
    echo [mysql]
    echo # 设置mysql客户端默认字符集
    echo default-character-set=utf8
    [client]
    echo # 设置mysql客户端连接服务端时默认使用的端口
    echo port=3306
    echo default-character-set=utf8)>%SQLDir%\my.ini
    if %errorlevel% == 0 (
       echo ---[尝试写入配置文件:成功]--- 
    )
    echo ---[尝试初始化数据库]---
    %SQLDir%\bin\.\mysqld --initialize-insecure  --user=mysql --console
    if not %errorlevel% == 0 (
       echo ---[尝试初始化数据库:失败,即将退出]---
       pause
       call %BatsDir%\removeSQL.bat
       exit)
    echo ---[尝试初始化数据库:成功]---
    echo ---[尝试开启mysql服务]---
    C:\windows\system32\.\net start mysql
    if not %errorlevel% == 0 (
       echo ---[尝试开启mysql服务:失败,即将退出]---
       call %BatsDir%\removeSQL.bat
       pause
       exit)
    (
    echo set password for 'root'@'localhost' = '%SQLPasForRoot%';
    echo create user '%SQLNameForUser%'@'%' identified by '%SQLPasForUser%';
    echo grant all privileges on *.* to %SQLNameForUser%@'%' with grant option;
    echo flush privileges;
    ) | %SQLDir%\bin\.\mysql -uroot 
    echo ---[配置完成]---
    echo 请勿删除该文件,否则若程序在服务开启时启动,数据库将被清空>>%SQLDir%\MyDatabase\DontDel.txt
    pause
    
  2. 删除服务器removeSQL.bat

    @echo off
    ::------需要修改内容------
    :: sql所在路径
    set SQLDir=C:\MySQL\mysql-8.0.30-winx64
    ::该BAT和其他BAT所在路径
    set BatsDir=C:\Users\kono707da\IdeaProjects\MavenTest\src\main\java\bats
    ::------------------------------
    :: 修改中文乱码
    chcp 65001
    cd  %~dp0
    %1 C:\windows\system32\.\mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
    echo ---[尝试关闭mysql服务]---
    C:\windows\system32\.\net stop mysql
    if %errorlevel% == 0 (echo ---[尝试关闭mysql服务:成功]---)
    echo ---[尝试卸载Mysql服务]---
    %SQLDir%\bin\.\mysqld --remove
    if %errorlevel% == 0 (
       echo ---[尝试卸载Mysql服务:成功]---
    )
    echo 初始化Mysql失败可能有以下两个原因:
    echo 1.初始化Mysql时Mysql服务被开启
    echo 2.MyDatabase文件夹内仍存有数据库文件
    echo 如果你是第一次看见这个窗口,请选择不删除数据库,这样只会重启Mysql服务而保留数据库信息
    echo 若要选择删除数据库。且你使用过数据库,请将MyDatabase文件夹内的数据库文件备份,初始化数据库成功后再粘贴覆盖
    echo 是否删除MyDatabase数据库?输入yes则删除,输入其他则不删除
    set /p num=
    if  %num%==yes (
    rd /s /Q %SQLDir%\MyDatabase
    md %SQLDir%\MyDatabase
    )
    if %errorlevel% == 0 (
       echo ---[尝试删除MyDatabase数据库目录:成功]---
    )
    pause
    
  3. 启动mysql服务startServer.bat

    ::获取管理员权限
    %1 C:\windows\system32\.\mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
    C:\windows\system32\.\net start mysql
    
  4. 关闭mysql服务stopServer.bat

    ::获取管理员权限
    %1 C:\windows\system32\.\mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
    C:\windows\system32\.\net stop mysql
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值