windows10使用bat脚本安装前后端环境之msyql5.7安装配置并重置用户密码

news2024/9/28 6:38:35

首先需要搞清楚msyql在本地是怎么安装配置、然后在根据如下步骤编写bat脚本:

思路

1.下载mysql5.7 zip格式安装包
2.新增data文件夹与my.ini配置文件
3.初始化数据库
4.安装mysql windows服务
5.启动并修改root密码(新增用户初始化授予权限)
6.新增数据库

在这里插入图片描述
my.ini 文件:

[client]
port=13306
[mysql]
default-character-set=utf8
[mysqld]
basedir=C:\other\mysql-5.7.42
datadir=C:\mysql-5.7.42\data
port=13306
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB

bat脚本

@echo off
echo windows10 x64 server Mysql init
REM 请求管理员权限并隐藏窗口
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 :: & echo 执行中,请稍候... & timeout 2 > nul","","runas",0)(window.close)&&exit
setlocal enabledelayedexpansion

rem 设置 Mysql 目录变量,方便后续引用和修改
set ServiceName=MySQL57_LINSN

%~d0
cd %~dp0
set CURRENT_DIR=%~dp0
set CURRENT_DIR=%CURRENT_DIR:~0,-1%

set NEW_BASEDIR=%CURRENT_DIR%\mysql-5.7.42
set NEW_DATADIR=%CURRENT_DIR%\mysql-5.7.42\data
set MY_INI_PATH=%CURRENT_DIR%\mysql-5.7.42\my.ini

rem 创建一个临时文件用于存储更新后的配置
set TMP_FILE=%MY_INI_PATH%.tmp

rem 删除临时文件,如果它已经存在
if exist "%TMP_FILE%" del "%TMP_FILE%"

echo query %ServiceName% state info ...
sc query "%ServiceName%" >nul 2>&1
if %errorLevel% equ 0 (
    rem 服务存在,检查服务状态
    for /f "tokens=2 delims=: " %%a in ('sc query "%ServiceName%" ^| find "STATE"') do (
        if /i "%%a" equ "RUNNING" (
            echo Mysql server state is RUNNING...
        ) else if /i "%%a" equ "STOPPED" (
            echo Mysql server state is STOPPED...
            net start %ServiceName% 
        ) else (
			echo Mysql server state is %%a...
        )
    )
) else (
	rem 读取原始的my.ini并更新basedir和datadir。这里的循环就是更新了,更新的逻辑是如果看到配置文件中的一行以 basedir= 开头,我们就更新
	echo mysql-server update my.ini begin...
	for /f "tokens=*" %%A in ('type "%MY_INI_PATH%"') do (
		set "LINE=%%A"
		if "!LINE:~0,8!"=="basedir=" set "LINE=basedir=%NEW_BASEDIR%"
		if "!LINE:~0,8!"=="datadir=" set "LINE=datadir=%NEW_DATADIR%"
		echo !LINE!>>"%TMP_FILE%"
	)

	rem 用更新后的配置替换原始的my.ini文件
	move /Y "%TMP_FILE%" "%MY_INI_PATH%"

	echo my.ini is update...
	
	REM 初始化 MySQL
	echo 初始化 MySQL...
	"%NEW_BASEDIR%\bin\mysqld.exe" --initialize-insecure --user=mysql

	rem 服务不存在,初始化服务
	echo mysql-server is not exist, init server %ServiceName%
	"%NEW_BASEDIR%\bin\mysqld.exe" --install %ServiceName%

	echo mysql-server start server %ServiceName%
	net start %ServiceName%	
	
	REM 假设 SQL 脚本名为 adserver-simple,位于当前目录下
	echo adserver-simple.sql ...
	"%NEW_BASEDIR%\bin\mysql.exe" -u root < adserver-simple.sql

	REM 重置 root 用户密码
	echo reset root psd...
	"%NEW_BASEDIR%\bin\mysql.exe" -u root < mysql-user-init.sql
)

echo windows-server-mysql success
endlocal

REM 执行完成后自动关闭
timeout /t 2 >nul
exit

mysql-user-init.sql:重置root密码(并新增zhangsan用户授予权限)

use mysql;
alter user 'root'@'localhost' IDENTIFIED BY 'Yess5678!';
CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY 'Abc123!@';
GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'localhost';
FLUSH PRIVILEGES;

adserver-simple.sql:创建数据库sql脚本

亲测有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2172728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅拷贝深拷贝

&#x1f4cb;目录 &#x1f4da;引入&#x1f4da;浅拷贝&#x1f4d6;定义&#x1f4d6;实现方式&#x1f4d6;特点 &#x1f4da;深拷贝&#x1f4d6; 定义&#x1f4d6;实现方式&#x1f4d6;特点 &#x1f4da;拓展&#x1f4d6;Object类✈️toString()方法✈️equals()方…

预防工作场所的违规政策

违规政策是指未经管理层制定或批准的工作场所政策。 它们也可能直接违反公司政策。如果管理不善&#xff0c;这些政策可能会对您的业务产生负面影响。 最常见的流氓政策来源是 试图绕过现有政策框架的员工&#xff0c;或 经理们未经高层领导批准&#xff0c;擅自制定自己的…

《凡人歌》中的IT职业启示录

《凡人歌》是由中央电视台、正午阳光、爱奇艺出品&#xff0c;简川訸执导&#xff0c;纪静蓉编剧&#xff0c;侯鸿亮任制片&#xff0c;殷桃、王骁领衔主演&#xff0c;章若楠、秦俊杰、张哲华、陈昊宇主演的都市话题剧 &#xff0c;改编自纪静蓉的小说《我不是废柴》。该剧于2…

基础漏洞——SSTI(服务器模板注入)

一.SSTI&#xff08;服务器模板注入&#xff09;的出现,框架漏洞 首先可以通过SSTI(Server-Side Template Injection)从名字可以看出即是服务器端模板注入。有些框架一般都采用MVC的模式。 用户的输入先进入Controller控制器&#xff0c;然后根据请求类型和请求的指令发送给对…

解决 Java 中由于 parallelStream 导致的死锁

并发性是软件开发的福音&#xff0c;也是祸根。通过并行处理提高性能的承诺与错综复杂的挑战相伴而生&#xff0c;例如臭名昭著的死锁。死锁是多线程编程世界中的隐患&#xff0c;它甚至可以使最强大的应用程序陷入瘫痪。它描述了两个或多个线程永远被阻塞&#xff0c;相互等待…

FOC矢量控制

目录 前言一、FOC简介1.1 FOC是什么1.2 FOC框图介绍 二、FOC坐标变换2.1 电流采集2.2 Clarke变换2.3 Park变换 三、闭环控制3.1 电流环控制3.3 速度环控制3.4 位置环控制 四、SVPWM原理4.1 空间矢量合成4.2 SVPWM法则4.3 MOS开关方式4.4 矢量作用时间 前言 本文主要介绍无刷直流…

未来医疗:从医技数字化2.0到全局变革

斯蒂芬•申弗&#xff08;Stephen C. Schimpff&#xff09;的《医疗大趋势&#xff1a;明日医学》被认为是全球第一本系统介绍未来医疗的权威著作。在书中&#xff0c;作者认为基因组学、手术技术革新、干细胞、数字医疗等关键技术将驱动医疗变革的发生&#xff0c;全面提升人类…

OpenAI o1-preview:详细分析

OpenAI 终于打破沉默&#xff0c;发布了万众期待的 “o1-preview”。其中有很多内容值得解读。 作为一家以 LLM 为生的人工智能初创公司&#xff0c;我们想知道这个新模型的性能如何&#xff0c;以及它能如何帮助我们改进产品。 因此&#xff0c;我花了一整天的时间来实验这个…

(JAVA)队列 和 符号表 两种数据结构的实现

1. 队列 1.1 队列的概述 队列是一种基于先进先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;是一种只能在一端进行插入&#xff0c;在另一端进行删除操作的特殊线性表。 它按照先进先出的原则存储数据&#xff0c;先进入的数据&#xff0c;在读取时先被读出来 1.2 …

蓝桥杯【物联网】零基础到国奖之路:十二. TIM

蓝桥杯【物联网】零基础到国奖之路:十二. TIM 第一节 理论知识第二节 cubemx配置 第一节 理论知识 STM32L071xx器件包括4个通用定时器、1个低功耗定时器&#xff08;LPTIM&#xff09;、2个基本定时器、2个看门狗定时器和SysTick定时器。 通用定时器&#xff08;TIM2、TIM3、…

详解JavaScript中属性getter和setter

6.6 属性getter和setter 属性值可以用1个或者2个方法替代&#xff0c;getter和setter. 由这两个定义的属性称作存取器属性(accessor property)&#xff0c;不同于数据属性&#xff0c;只有一个简单的值。有读写属性&#xff0c;只能写&#xff0c;只能读&#xff0c;可以读写…

数据结构 算法的时间复杂度 计算(两种规则 加法原则+乘法原则)

在分析时间复杂性时&#xff0c;加法和乘法原则是两个基本且重要的概念&#xff0c;它们分别用于处理算法中顺序执行和嵌套执行的代码段的时间复杂度计算。以下是对这两个原则的详细说明&#xff1a; 一、加法原则 定义&#xff1a; 加法原则适用于顺序执行的代码段。如果一…

从Linux系统的角度看待文件-基础IO

目录 从Linux系统的角度看待文件 系统文件I/O open write read 文件操作的本质 vim中批量注释的方法 从Linux系统的角度看待文件 关于文件的共识&#xff1a; 1.空文件也要占用磁盘空间 2.文件内容属性 3.文件操作包括文件内容/文件属性/文件内容属性 4.文件路径文…

LDO实习报告(免费)-有完整电路版图

LDO实习任务书 实习目的&#xff1a; 了解LDO电路研究现状和原理结构&#xff0c;熟悉模拟电路设计流程。 week1 &#xff1a; 调研LDO应用情况及研究现状。 week2 &#xff1a; 熟悉LDO基本原理及组成。 week3 &#xff1a; 构建LDO电路。 week4 &#xff1a; 对LDO进…

从日志到洞察:轻松实现服务器安全管理的神器

在当今复杂多变的网络环境中&#xff0c;服务器安全管理已成为一项不可或缺的任务。然而&#xff0c;面对海量的日志数据&#xff0c;如何快速精准地提取有价值的信息&#xff0c;并及时发现潜在的安全威胁&#xff1f;本文将为您介绍一款强大的服务器日志检索与查杀工具&#…

pilz皮尔兹PSSuniversal分散控制平台 Dezentrale Steuerungsplattform 手测

pilz皮尔兹PSSuniversal分散控制平台 Dezentrale Steuerungsplattform 手测

WebAPI编程(第三天,第四天)

WebAPI编程&#xff08;第三天&#xff0c;第四天&#xff09; day03 - Web APIs1.1. 节点操作1.1.1 删除节点1.1.2 案例&#xff1a;删除留言1.1.3 复制&#xff08;克隆&#xff09;节点1.1.4 案例&#xff1a;动态生成表格1.1.5 创建元素的三种方式1.1.6 innerTHML和createE…

基于SSM+小程序的自习室选座与门禁管理系统(自习室1)(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 1、管理员实现了首页、基础数据管理、论坛管理、公告信息管理、用户管理、座位管理等 2、用户实现了在论坛模块通过发帖与评论帖子的方式进行信息讨论&#xff0c;也能对账户进行在线充值…

深圳龙链科技:全球区块链开发先锋,领航Web3生态未来

【深圳龙链科技】是全球领先的Web3区块链技术开发公司&#xff0c;专注于为全球客户提供创新高效的区块链解决方案。 深圳龙链科技由币安资深股东携手香港领先的Web3创新枢纽Cyberport联袂打造&#xff0c;立足于香港这一国际金融中心&#xff0c;放眼全球&#xff0c;汇聚了华…

罕见,回复问询后闪电终止,业绩存下滑风险

《IPO魔女》认为&#xff0c;和美精艺利润低且大幅波动&#xff0c;报告期公司毛利率持续大幅下滑。而2023年同行业的上市公司均出现了业绩大幅下滑的情况&#xff0c;还未上市的和美精艺恐怕也存在业绩下滑的风险。此外&#xff0c;2020年至2022年&#xff0c;和美精艺研发投入…