MySQL安装多个实例——批处理脚本一键配置MySQL服务

news2024/9/21 10:52:59

1.下载mysql的免安装压缩包

官网:https://downloads.mysql.com/archives/community/
在这里插入图片描述

2.解压并新增批处理脚本

在这里插入图片描述

@echo off
chcp 65001
setlocal enabledelayedexpansion

echo MySQL版本为8.0.34

REM 使用set /p命令获取用户输入的端口号
set /p "port=请输入端口号(不要使用已启用的端口):  "

set /p "abc=请输入服务名(示例:MySQL_3306):       "

REM 使用set /p命令获取用户输入的新密码
set /p "newPwd=请输入新密码,(示例:Mysql@2023):  "

REM 获取当前批处理文件的所属路径
for %%i in ("%~dp0") do set "currentDir=%%~fi"
rem echo 当前批处理文件的所属路径:%currentDir%

rem 新增并写入my.ini
(
echo [mysqld]
echo # mysql根目录,配置解压后的地址
echo basedir = %currentDir%
echo # 数据文件存放目录
echo datadir = %currentDir%data
echo #错误日志存放位置
echo log-error = %currentDir%logs
echo # 端口,默认3306
echo port = %port%
echo. 
echo # 允许最大连接数
echo max_connections=100
echo # 允许连接失败的次数
echo max_connect_errors=50
echo. 
echo #开启二进制日志功能
echo #log-bin=mall-mysql-bin
echo #设置使用的二进制日志格式(mixed,statement,row)
echo #binlog_format=row
echo. 
echo # 全文索引检索指定 n-gram 分词的令牌大小
echo #ngram_token_size=1
echo. 
echo # 设置InnoDB缓冲池大小
echo innodb_buffer_pool_size = 128M
echo. 
echo # 服务端使用的字符集默认为utf8mb4
echo character_set_server=utf8mb4
echo. 
echo # 设置默认存储引擎
echo default-storage-engine=INNODB
echo. 
echo # 设置SQL模式
echo sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
echo. 
echo [mysql]
echo # 设置默认字符集
echo default-character-set=utf8mb4
echo. 
echo [client]
echo # 设置默认字符集
echo default-character-set=utf8mb4
) > %currentDir%my.ini

REM 初始化 MySQL
set "installCommand=%currentDir%bin\mysqld.exe --defaults-file=%currentDir%my.ini --initialize --console"
echo "(1/3)初始化 MySQL成功,等待服务注册,这可能需要一些时间..."
REM 关闭文件句柄,以确保 temp.txt 可以被正常访问
%installCommand% >%currentDir%temp.txt 2>&1

REM 获取临时密码
rem 使用 findstr 命令查找包含 "root@localhost" 的行并输出到控制台
set "tempPwd="
set "tempFile=%currentDir%temp.txt"
for /f "tokens=15 delims=: " %%a in ('findstr "root@localhost" "%tempFile%"') do (
    set "tempPwd=%%a"
)
echo 临时密码: "%tempPwd%"

REM 注册 MySQL 服务
set "installCommand=%currentDir%bin\mysqld.exe install %abc% --defaults-file=%currentDir%my.ini"
REM 尝试注册服务,如果服务已存在,则忽略错误
%installCommand% 2>nul

echo "(2/3) %abc% 注册完成并启动中... "
REM 启动 MySQL服务
set "startCommand=net start %abc% "
%startCommand%  

REM 执行 MySQL 修改密码和刷新权限
set "mysqlCommand=%currentDir%bin\mysql.exe"
REM 设置 MySQL 服务器的连接参数
set "mysqlParams=-uroot -P%port% --connect-expired-password -p%tempPwd%"
REM 设置 SQL 语句
set "sqlParams=ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '%newPwd%'; FLUSH PRIVILEGES;"
REM 使用 MySQL 客户端执行 SQL 语句
REM echo %mysqlCommand% %mysqlParams% -e "%sqlParams%"
%mysqlCommand% %mysqlParams% -e "%sqlParams%"
 
rem 删除临时文件
 del %tempFile%
 
echo "(3/3)安装完成! 可关闭此窗口"

endlocal

pause


3. 右键以管理员身份运行

在这里插入图片描述

执行完成后生成data目录和配置文件my.ini
在这里插入图片描述
服务中mysql服务已经启动
在这里插入图片描述
navicat连接
在这里插入图片描述

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

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

相关文章

C++标准模板(STL)- 类型支持 (类型特性,is_pointer,is_lvalue_reference,is_rvalue_reference)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实…

【git】git使用教程

1、版本管理工具 如果有一个软件能记录我们对文档的所有修改&#xff0c;所有版本&#xff0c;这类软件我们一般叫做版本控制工具。 特性“ 能够记录历史版本&#xff0c;回退历史版本团队开发&#xff0c;方便代码合并 2、版本管理工具介绍 svn、git svn是集中式版本控制…

mac版本 Adobe总是弹窗提示验证问题如何解决

来自&#xff1a; mac软件下载macsc站 mac电脑使用过程中总是弹出Adobe 的弹窗提示&#xff0c;尤其是打开Adobe的软件&#xff0c;更是频繁的弹出提示&#xff1a; Your Adobe app is not genuine. Adobe reserves the right to disable this software after a 0 grace period…

Ubuntu 22.04 开机闪logo后卡在/dev/sda3: clean

环境 Vmware 17.0.0&#xff0c;CPU 2&#xff0c;内存4G&#xff0c;硬盘50G Ubuntu 22.04 问题描述 开机 --> 显示两行代码 --> 显示ubuntu logo --> 左上显示两个代码卡住不动 原因分析 1、网上大多说显卡驱动&#xff0c;最近没安装相关软件&#xff0c;也没…

ARM汇编指令之数据操作指令

数据搬移指令&#xff1a;立即数&#xff1a;在待判断的32位数&#xff08;以十六进制展开&#xff09;中&#xff0c;寻找一个0~255&#xff08;即0x00~0xff&#xff09;之间的数值&#xff0c;然后将这个数值循环右移偶数个位置&#xff0c;可以得到待判断的数&#xff0c;即…

Vue $nextTick

我们用一个例子来说明$nextTick的作用&#xff1a; 我们用一个变量showIpt来控制input框的显示和隐藏&#xff0c;默认是隐藏。 我们点击一个按钮后显示这个输入框的同时&#xff0c;input还要自动获取焦点。 但是我们点击按钮过后并没有生效。 为什么&#xff1f;this.show…

C++标准模板(STL)- 类型支持 (类型特性,is_union,is_class,is_function)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

Ubuntu中查看电脑有多少个核——lscpu

1. 使用lscpu命令: 打开终端并输入以下命令: lscpu你会看到与CPU相关的详细信息。查找"CPU(s)"这一行来看总的核心数。另外&#xff0c;“Core(s) per socket”表示每个插槽或每个物理CPU的核数&#xff0c;“Socket(s)”表示物理CPU的数量。将这两个值相乘即得到总…

MyBatis开启二级缓存

MyBatis开启二级缓存 前言 MyBatis-Plus&#xff08;简称MP&#xff09;是一个基于MyBatis的增强工具&#xff0c;提供了更便捷的CRUD操作和其他功能。与MyBatis相比&#xff0c;MyBatis-Plus并没有引入自己的缓存机制&#xff0c;而是直接使用了MyBatis的缓存机制。 在MyBati…

【Linux】第五站:Linux权限

文章目录 一、shell命令以及运行原理二、Linux下用户的分类1.root用户和普通用户的切换2.对一条指令的提权 三、什么叫做权限1.权限2.文件的属性3.文件类型4.权限属性 四、更改权限1. chmod 更改文件的属性2. chown 更改拥有者3. chgrp更改所属组4.chown一次性更改拥有者和所属…

12种常见的恶意软件类型与防范建议

1、病毒 病毒是迄今为止最常见的恶意软件类型之一。它是一种能够感染、破坏计算机设备&#xff0c;并在其运行系统上自我复制的程序。由于病毒是自我复制的&#xff0c;一旦安装并运行&#xff0c;它们就可以在同一网络上自动从一台设备传播到另一台设备&#xff0c;无需人为干…

网络(番外篇)can网络知识

通常ECU发出的网络管理报文ID Base Address Node ID Mifa项目向外发的网络管理报文0x418&#xff0c;就是DBC根据基地址加上节点ID定义的。 报文属性是 NmAsrMessage即应答网络报文。 DBC里关于整个网络管理的参数定义&#xff0c;确定好后导入达芬奇&#xff0c;就是直接…

简单的谈谈VPN是什么、类型、使用场景以及工作原理?

作者&#xff1a;久孤776 个人主页&#xff1a;久孤776_python-CSDN博客 作者会持续更新网络知识以及关于python的知识期待你的关注 目录 一、vpn是什么 二、vpn的类型 1. 远程访问VPN 2. 点对点VPN 3. 入口站点VPN 4. 专线VPN 5. 客户端对站点VPN 三、VPN的使用场景 1…

通过python操作neo4j

在neo4j中创建结点和关系 创建结点 创建电影结点 例如&#xff1a;创建一个Movie结点&#xff0c;这个结点上带有三个属性{title:‘The Matrix’, released:1999, tagline:‘Welcome to the Real World’} CREATE (TheMatrix:Movie {title:The Matrix, released:1999, tagl…

从零开始:开发直播商城APP的技术指南

时下&#xff0c;直播商城APP已经成了线上购物、电子商务的核心组成&#xff0c;本文将为您提供一个全面的技术指南&#xff0c;帮助您从零开始开发一个直播商城APP。我们将涵盖所有关键方面&#xff0c;包括技术堆栈、功能模块、用户体验和安全性。 第一部分&#xff1a;技术…

Mybatis的Mapper文件报错:Tag name expected

目录 一、Mapper文件的错误信息 二、原因分析 三、解决方案 1、解决方式一&#xff1a;CDATA 2、解决方式二&#xff1a;预定义字符 一、Mapper文件的错误信息 在使用MyBatis时&#xff0c;我们通常会写一些sql语句。如下图&#xff0c;有时候我们会直接使用比较符号&…

继续畅通工程(最小生成树+并查集)

我刚开始的想法是&#xff0c;既然有已经修好的路&#xff0c;就先把这些修好的路全都加到集合中&#xff0c;即直接把他们Union&#xff0c;不加其长度&#xff0c;然后再将剩下的排序&#xff0c;按Kruskal的算法来进行。 但是这种想法可能有什么问题&#xff0c;只过了一般…

Vscode中不显示.ipynb文件单元格行号

找到设置&#xff0c;搜索line number&#xff1a; 看到下面那个Notebook: Line Numbers 控制单元格编辑器中行号的显示。&#xff0c;选择on即可&#xff1b;

网络原理之TCP/IP

文章目录 应用层传输层UDP协议TCP协议TCP 的工作机制1. 确认应答2. 超时重传3. 连接管理TCP 的建立连接的过程(三次握手),和断开连接的过程(四次挥手)TCP 断开连接, 四次挥手 3. 滑动窗口5. 流量控制6. 拥塞控制7. 延时应答8. 捎带应答9. 面向字节流10. 异常情况 本章节主要讨论…

CRM客户管理系统源码 带移动端APP+H5+小程序

CRM客户管理系统源码 带移动端APPH5小程序 开发环境: thinkphp mysql 功能介绍&#xff1a; 1、 办公管理&#xff1a;审批管理、工作报告、日程管理、办公审批、公告管理 2、 客户管理&#xff1a;我的客户、客户列表、成交客户、行业类别、预查、地区列表、客户状态、客…