🐬 MySQL 5.7 和 8.0 离线安装教程(图文版适合电脑小白)
本文适用于无外网 Linux 环境,安装 MySQL 两个版本:5.7(端口 3306)和 8.0(端口 13306)。
📦 第一步:准备工作
✅ 所需安装包(在有网电脑上下载)
- MySQL 5.7:https://downloads.mysql.com/archives/community/
- MySQL 8.0:https://downloads.mysql.com/archives/community/
示例文件名:
mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
✅ 上传到无网服务器
放入:/opt/mysql_install/
目录,例如:
mkdir -p /opt/mysql_install
cd /opt/mysql_install
# 上传到这里
🧱 第二步:安装 MySQL 5.7(端口 3306)
1️⃣ 添加用户 + 解压
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
cd /opt/mysql_install
tar -xzf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.43-linux-glibc2.12-x86_64 /usr/local/mysql57
2️⃣ 创建数据目录
mkdir -p /data/mysql57
chown -R mysql:mysql /data/mysql57
3️⃣ 初始化数据库
cd /usr/local/mysql57
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql57 --basedir=/usr/local/mysql57
⚠️ 记下日志中生成的临时密码。
4️⃣ 创建配置文件
# /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql57
datadir=/data/mysql57
port=3306
socket=/tmp/mysql57.sock
pid-file=/data/mysql57/mysql.pid
user=mysql
log-error=/data/mysql57/mysql.err
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
5️⃣ 启动服务
/usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my.cnf &
6️⃣ 设置密码
/usr/local/mysql57/bin/mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
🧱 第三步:安装 MySQL 8.0(端口 13306)
1️⃣ 解压安装包
cd /opt/mysql_install
tar -xJf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql80
2️⃣ 创建数据目录
mkdir -p /data/mysql80
chown -R mysql:mysql /data/mysql80
3️⃣ 初始化数据库
cd /usr/local/mysql80
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql80 --basedir=/usr/local/mysql80
记住临时密码。
4️⃣ 配置文件
# /etc/my80.cnf
[mysqld]
basedir=/usr/local/mysql80
datadir=/data/mysql80
port=13306
socket=/tmp/mysql80.sock
pid-file=/data/mysql80/mysql.pid
user=mysql
log-error=/data/mysql80/mysql.err
default_authentication_plugin=mysql_native_password
5️⃣ 启动服务
/usr/local/mysql80/bin/mysqld_safe --defaults-file=/etc/my80.cnf &
6️⃣ 登录设置密码
/usr/local/mysql80/bin/mysql -uroot -p -S /tmp/mysql80.sock
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass123!';
🧩 附加:环境变量 & 验证
# 添加环境变量(任选其一)
echo 'export PATH=/usr/local/mysql57/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证连接
mysql -uroot -p -S /tmp/mysql57.sock
/usr/local/mysql80/bin/mysql -uroot -p -S /tmp/mysql80.sock