Bat批处理命令实现一键安装mysql环境

Bat批处理命令实现一键安装mysql环境

已测试可用的版本

MySQL 8.0;

环境:

windows7/10
MySQL 8.0.15免安装版

项目需求

需要实现一个自动化MySQL配置安装及初始化数据库(初始化包括:设置用户名和密码)。

批处理

用来对某对象进行批量的处理,即可通过批处理让相应的软件执行自动化操作。

MySQL免安装版使用步骤:

1.配置环境变量
2.创建MySQL配置文件
3.注册MySQL服务
4.启动MySQL服务
5.设置MySQL数据库用户名密码为指定的账户密码。
本文章问题的解决方式就是使用批处理来实现以上步骤。

1、下载mysql安装包
下载mysql-8.0.15-winx64.zip,地址https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-winx64.zip

2、写bat文件
把文件夹解压缩到D盘(或解压到其他位置),在目录下新建初始化数据库.bat、初始化密码.bat和setpwd.sql
Bat批处理命令实现一键安装mysql环境

初始化数据库.bat内代码的内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@ECHO ON
@echo 设置环境变量
@SET sqlpath=%~dp0
@setx /M PATH "%sqlpath%bin;%path%"
@echo 初始化数据库配置文件
@del %sqlpath%\my.ini
@echo [mysqld]>>%sqlpath%\my.ini
@echo port=3306>>%sqlpath%\my.ini
@echo basedir=%sqlpath%>>%sqlpath%\my.ini
@echo datadir=%sqlpath%\data>>%sqlpath%\my.ini
@echo max_connections=200>>%sqlpath%\my.ini
@echo max_connect_errors=10>>%sqlpath%\my.ini
@echo character-set-server=utf8mb4>>%sqlpath%\my.ini
@echo default-storage-engine=INNODB>>%sqlpath%\my.ini
@echo default_authentication_plugin=mysql_native_password>>%sqlpath%\my.ini
@echo [mysql]>>%sqlpath%\my.ini
@echo default-character-set=utf8mb4>>%sqlpath%\my.ini
@echo [client]>>%sqlpath%\my.ini
@echo default-character-set=utf8mb4>>%sqlpath%\my.ini
@echo port=3306>>%sqlpath%\my.ini
@%sqlpath%\bin\mysqld.exe --initialize-insecure --lower-case-table-names=1 --user=mysql --console
@echo 开始安装数据库
@%sqlpath%\bin\mysqld.exe --install
@net start mysql
@pause

初始化密码.bat内代码的内容为  

1
2
3
4
5
@ECHO ON
@echo 初始化密码
@SET sqlpath=%~dp0
@%sqlpath%\bin\mysql.exe -uroot < %sqlpath%\setpwd.sql
@pause

setpwd.sql内容为

1
2
3
4
5
6
7
8
use mysql;
select Host, User from user;
update user set authentication_string='' where user='root';
update user set host='%' where user='root';
flush privileges;
alter user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
exitru

如需重新初始化,新建重新初始化数据库.bat,内容为

1
2
3
4
5
6
7
@ECHO ON
@echo 重新初始化
@SET sqlpath=%~dp0
net stop mysql
mysqld --remove
rmdir /s/q %sqlpath%\data
del %sqlpath%\my.ini

原文链接:https://www.cnblogs.com/88223100/p/install-mysql_by_bash.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Bat批处理命令实现一键安装mysql环境 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • MySQL 之 索引原理与慢查询优化

    1. 索引介绍 需求:   一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 索引:    简单的说,相当于图书的目录,可以帮助用户快速的找到需要的内容.    在MySQL中也…

    MySQL 2023年4月13日
    00
  • InnoDB的关键特性-插入缓存,两次写,自适应hash索引详解

    InnoDB是MySQL数据库管理系统中的一种存储引擎,其特性有很多,其中比较重要的特性包括插入缓存、两次写和自适应hash索引。 插入缓存 插入缓存是InnoDB中的一种缓存机制,它能够提高插入性能。当数据被插入到表中时,InnoDB并不会立即将数据写入磁盘,而是先将数据写入缓存中,然后等待一定的时间再将缓存中的数据写入磁盘。这个时间是通过配置参数inno…

    MySQL 2023年5月19日
    00
  • prometheus系列监控:jvm,mongodb,mysql,redis,consul

    jvm: maven添加dependence <!– https://mvnrepository.com/artifact/io.micrometer/micrometer-registry-prometheus –> <dependency> <groupId>io.micrometer</groupId&gt…

    MySQL 2023年4月13日
    00
  • MySQL提示“too many connections“错误的解决过程

    当MySQL连接数超过其最大连接限制时,就会出现”too many connections”错误。这个问题可以通过以下几种方式来解决: 1. 修改MySQL的最大连接限制 在MySQL配置文件中(一般为my.cnf或my.ini)找到以下行: max_connections = 100 将100改成更大的值,即可增加最大连接数。不过,这种方法可能会导致系统负…

    MySQL 2023年5月18日
    00
  • MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍

    MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍 概述 在MySQL中,连接查询、排序、Limit操作是常见的查询操作。但是这些操作可能会消耗较多的时间和资源。因此,我们需要进行针对性的优化来提高查询效率。 连接查询 连接查询是常用的一种关联查询操作。在进行连接查询时,应该优先考虑使用内连接(Inner Join)…

    MySQL 2023年5月19日
    00
  • MySql生成ER【StarUML】文件

    1. 背景 要画ER图,一个个打费时费力,StarUML文件打开是json。那么就有可能自动生成。 2. 效果 把表结构生成好,自己只要维护关系即可。 3. 代码 import lombok.Data; import java.io.FileWriter; import java.io.IOException; import java.sql.*; impo…

    MySQL 2023年4月11日
    00
  • 使用 Binlog 和 Canal 从 MySQL 抽取数据

    转载自: https://blog.csdn.net/zjerryj/article/details/77152226   技术点: Apache Sqoop Ali Canal https://github.com/alibaba/canal Hive 0.14 支持 insert update delete , 2.0 后支持 Streaming Mut…

    MySQL 2023年4月16日
    00
  • 浅谈Mysql多表连接查询的执行细节

    浅谈MySQL多表连接查询的执行细节 概述 在MySQL中,多表连接查询是非常常见的操作,其能够更加高效地获取需要的数据,同时也方便了开发者的编写。然而,多表连接查询的执行细节是什么呢?在这篇文章中,我们将一步步深入浅出地剖析MySQL多表连接查询的各个细节。 基础知识 在进行多表连接查询之前,我们需要了解MySQL中一些基础知识,包括: 表的类型:MySQ…

    MySQL 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部