翼度科技»论坛 编程开发 mysql 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18

   已测试可用的版本

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  

来源:https://www.cnblogs.com/88223100/p/install-mysql_by_bash.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具