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内代码的内容为

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
posted @ 2023-03-27 20:16  古道轻风  阅读(1126)  评论(0编辑  收藏  举报