当前位置: 首页 > news >正文

MySQL 5.7 和 8.0 离线安装教程(图文版适合电脑小白)

🐬 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 mysqlcd /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 -pALTER 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.sockALTER 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

✅ 完成!如有问题请重新执行初始化步骤或检查错误日志。

http://www.xdnf.cn/news/1248103.html

相关文章:

  • C++返回值优化(RVO):高效返回对象的艺术
  • 【基础】第八篇 Java 位运算符详解:从基础到实战应用
  • Unknown initial character set index ‘255’,Kettle连接MySQL数据库常见错误及解决方案大全
  • nuxt学习笔记
  • 什么是mysql的垂直分表,理论依据是什么,如何使用?
  • LeetCode 刷题【31. 下一个排列】
  • Apache OFBiz Scrum 组件命令注入漏洞
  • 力扣148:排序链表
  • 不可变集合
  • 笔记学习杂记
  • nordic通过j-link rtt viewer打印日志
  • Linux网络编程:TCP初体验
  • 永磁同步电机的矢量控制
  • Python包安全工程实践:构建安全可靠的Python生态系统
  • Redis类型之String
  • Python深度学习:从入门到进阶
  • ELK是什么
  • 分布式微服务--Nacos持久化
  • linux定时器管理 timer_*系统调用及示例
  • 每日五个pyecharts可视化图表-bars(4)
  • 系统设计入门:成为更优秀的工程师
  • iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解
  • MATLAB实现的机载合成孔径雷达回波生成和处理
  • zyh贪心类题目补题报告
  • 灰色优选模型及算法MATLAB代码
  • GoLand 项目从 0 到 1:第五天 —— 角色权限中间件实现与事务控制
  • 三极管三种基本放大电路:共射、共集、共基放大电路
  • 使用公众号的消息模板给关注用户发消息
  • Pycaita二次开发基础代码解析:参数化模板创建与设计表驱动建模
  • RHCA03--硬件监控及内核模块调优