mysql版本:5.7
去官网下载mysql的压缩包解压缩,然后再当前文件夹下新建批处理文件,目录结构:
批处理文件内容
@echo off
rem 基于mysql是否启动服务来判断是否安装了mysql,如果是已经安装了,但是没启动,脚本会重装mysql,请注意
for /f "skip=3 tokens=4" %%i in ('sc query mysql') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (
rem 发现正在运行的mysql
goto exit_install
)else (
rem 未发现正在运行的mysql
goto mysql_install
)
:mysql_install
rem 当前脚本路径
set bat_path=%~dp0
rem mysql安装路径=当前脚本路径下/run_config\mysql\mysql-5.7
set mysql=H:\mysql-5.7\
echo **********************************************
echo.
echo 将要安装mysql
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo **********************************************
pause
xcopy %bat_path%mysql-5.7\*.* %mysql% /s /h /d /y
md %mysql%\data
echo [client] >>%mysql%my.ini
echo port=3306 >>%mysql%my.ini
echo default-character-set=utf8 >>%mysql%my.ini
echo [mysqld] >>%mysql%my.ini
echo #设置为MYSQL的数据目录 >>%mysql%my.ini
echo datadir=%mysql%\data >>%mysql%my.ini
echo character_set_server=utf8 >>%mysql%my.ini
echo sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER >>%mysql%my.ini
echo explicit_defaults_for_timestamp=true >>%mysql%my.ini
rem 加入免密登录
echo skip-grant-tables >>%mysql%my.ini
echo 开始安装
rem 安装mysql
%mysql%\bin\mysqld.exe --initialize --user=mysql --console
%mysql%\bin\mysqld.exe --install MySQL
rem 启动mysql
net start MySQL
rem 调用update.sql文件中的sql语句,将mysql的远程访问方式打开,以备远程访问服务器;
rem 同时,将mysql的密码更改,本批处理命令将mysql密码更改为root
echo 添加用户名
%mysql%\bin\mysql -u root -e "use mysql;update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';update user set host = '%' where user='root';flush privileges;"
net stop MySQL
rem 删除免密登录
rem 删除文件
del /a /f /q %mysql%my.ini
rem 重写文件,去掉免密登录
echo [client] >>%mysql%my.ini
echo port=3306 >>%mysql%my.ini
echo default-character-set=utf8 >>%mysql%my.ini
echo [mysqld] >>%mysql%my.ini
echo #设置为MYSQL的数据目录 >>%mysql%my.ini
echo datadir=%mysql%\data >>%mysql%my.ini
echo character_set_server=utf8 >>%mysql%my.ini
echo sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER >>%mysql%my.ini
echo explicit_defaults_for_timestamp=true >>%mysql%my.ini
rem 重启mysql服务
net start MySQL
echo 数据库默认用户名root,密码root
goto end
:exit_install
echo 该机器上已经安装了mysql
goto end
:end
pause