mysql 5.7.20 解压版安装教程

1

准备mysql5.7.20 安装包

MySQL :: Download MySQL Community Server (Archived Versions)

image

 2 c++ 运行环境

image

 

确保系统已安装 Microsoft Visual C++ 2013 Redistributable(MySQL 5.7 依赖)。
若初始化失败,检查 my.ini 中的路径是否正确,且路径中无空格、无中文。
若提示 “找不到 msvcr120.dll”,安装上述 VC++ 运行库即可。
脚本中的 --initialize-insecure 表示初始化无密码(方便后续修改),若需生成随机临时密码,改为 --initialize 即可(临时密码会输出在控制台)。

  

 

3、解压文件到

 

D:\mysql-5.7.20-winx64

删除data目录

D:\mysql-5.7.20-winx64\data 

 

 4、准备目录下的 my.ini文件

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 解决TIMESTAMP隐式默认值警告
explicit_defaults_for_timestamp = 1

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

 

2 安装脚本

mysql_install.bat

@echo off
chcp 65001 > nul
echo ==============================================
echo          MySQL 5.7.20 一键安装脚本
echo ==============================================

:: 定义MySQL路径(请根据实际路径修改)
set MYSQL_PATH=D:\mysql-5.7.20-winx64
set MYSQL_BIN=%MYSQL_PATH%\bin
set MYSQL_DATA=%MYSQL_PATH%\data
set MYSQL_SERVICE_NAME=MySQL57
:: 定义root密码(统一管理,方便修改)
set ROOT_PASSWORD=12345678

:: 检查是否以管理员身份运行
openfiles > nul 2>&1
if %errorlevel% neq 0 (
    echo 错误:请以【管理员身份】运行此脚本!
    pause
    exit /b 1
)

:: 1. 创建data目录
if not exist "%MYSQL_DATA%" (
    echo 正在创建data目录...
    md "%MYSQL_DATA%"
)

:: 2. 生成my.ini配置文件(关键:原脚本缺少此文件,会导致服务安装/启动失败)
if not exist "%MYSQL_PATH%\my.ini" (
    echo 正在生成my.ini配置文件...
    (
        echo [mysqld]
        echo basedir=%MYSQL_PATH%
        echo datadir=%MYSQL_DATA%
        echo port=3306
        echo character-set-server=utf8
        echo sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
        echo [mysql]
        echo default-character-set=utf8
    ) > "%MYSQL_PATH%\my.ini"
)

:: 3. 设置临时环境变量(本次会话有效)
echo 正在设置环境变量...
set PATH=%MYSQL_BIN%;%PATH%

:: 4. 初始化MySQL(生成临时密码,5.7必须初始化)
echo 正在初始化MySQL...
"%MYSQL_BIN%\mysqld" --initialize-insecure --user=mysql --basedir="%MYSQL_PATH%" --datadir="%MYSQL_DATA%"
if %errorlevel% equ 0 (
    echo MySQL初始化成功!
) else (
    echo MySQL初始化失败,请检查路径或配置!
    pause
    exit /b 1
)

:: 5. 安装MySQL服务
echo 正在安装MySQL服务...
"%MYSQL_BIN%\mysqld" --install %MYSQL_SERVICE_NAME% --defaults-file="%MYSQL_PATH%\my.ini"
if %errorlevel% equ 0 (
    echo MySQL服务安装成功!
) else (
    echo MySQL服务安装失败,可能已存在同名服务!
    pause
    exit /b 1
)

:: 6. 启动MySQL服务
echo 正在启动MySQL服务...
net start %MYSQL_SERVICE_NAME%
if %errorlevel% equ 0 (
    echo MySQL服务启动成功!
) else (
    echo MySQL服务启动失败,请手动检查!
    pause
    exit /b 1
)

:: 7. 延迟5秒(关键:等待MySQL服务完全就绪,避免SQL执行失败)
echo wait MySQL service initing
timeout /t 5 /nobreak > nul

:: 8. 修改root密码 + 开启远程访问(修复多行SQL执行语法)
echo setting root password and remote access
"%MYSQL_BIN%\mysql" -uroot -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '%ROOT_PASSWORD%'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%%' IDENTIFIED BY '%ROOT_PASSWORD%' WITH GRANT OPTION; FLUSH PRIVILEGES;"

if %errorlevel% equ 0 (
    echo root密码修改+远程访问配置成功!
) else (
    echo 配置失败(可手动执行SQL修复)!
)

echo ==============================================
echo MySQL 5.7.20 安装完成!
echo Service Name:%MYSQL_SERVICE_NAME%
echo 端口:3306
echo root密码:%ROOT_PASSWORD%
echo 远程访问:已开启(允许所有IP连接)
echo ==============================================
pause

 

3 卸载脚本

mysql_uninstall.bat

@echo off
chcp 65001 > nul
echo ==============================================
echo          MySQL 5.7.20 一键卸载脚本
echo ==============================================

set MYSQL_SERVICE_NAME=MySQL57

:: 管理员检查
openfiles > nul 2>&1
if %errorlevel% neq 0 (
    echo 错误:请以【管理员身份】运行此脚本!
    pause
    exit /b 1
)

:: 停止服务
echo 正在停止MySQL服务...
net stop %MYSQL_SERVICE_NAME%

:: 移除服务
echo 正在移除MySQL服务...
"%MYSQL_PATH%\bin\mysqld" --remove %MYSQL_SERVICE_NAME%

echo MySQL服务卸载完成!
pause

 

posted @ 2026-01-22 10:55  JohnnyLei  阅读(0)  评论(0)    收藏  举报