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

[特殊字符] CentOS 7 离线安装 MySQL 5.7 实验

🐧 CentOS 7 离线安装 MySQL 5.7 实验

针对企业无互联网环境的系统,设计了如何在 CentOS 7 系统中,使用一台可以联网的主机(NodeA)为另一台无法联网的主机(NodeB)安装 MySQL 5.7 数据库及其依赖。


🧩 一、实验环境介绍

节点名称主机名操作系统IP配置
🌐NodeAcentos7_onlineCentOS 7 (x86_64)NAT: 192.168.234.153HostOnly: 192.168.75.131
📴NodeBcentos7_offlineCentOS 7 (x86_64)HostOnly: 192.168.75.132

📌 说明:使用 VMware 设置虚拟机,NodeA 联网,NodeB 与 NodeA 在同一内网中通信。


🔧 二、NodeA 配置及准备工作(联网主机)

1️⃣ 配置静态 IP 地址

NAT接口(ens32):

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=noDEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=03175594-4270-41a1-abfb-51a8872467cf
DEVICE=ens32ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.234.153
NETMASK=255.255.255.0
GATEWAY=192.168.234.2
DNS1=192.168.234.2

HostOnly接口(ens33):

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
DEVICE=ens32ONBOOT=yes
IPADDR=192.168.75.131
GATEWAY=192.168.75.1
PREFIX=24

重启网络服务并修改主机名:

systemctl restart network
hostnamectl set-hostname online.hy

centos7_offline 的配置也参考这一步,配置 ens32,IP更改为 132:

ONBOOT=yes
IPADDR=192.168.75.132
GATEWAY=192.168.75.1
PREFIX=24systemctl restart network
hostnamectl set-hostname offline.hy

2️⃣ 替换 YUM 源(推荐使用阿里云镜像)

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all && sudo yum makecache

🛠️ 三、在 NodeA 下载 MySQL 离线安装包

1️⃣ 安装辅助工具

sudo yum install -y yum-utils createrepo epel-release

2️⃣ 创建存放文件的目录

mkdir -p ~/offline-mysql57
cd ~/offline-mysql57

3️⃣ 配置 MySQL 官方源

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum-config-manager --enable mysql57-community

4️⃣ 下载 MySQL 5.7 所有依赖包

repotrack --arch=x86_64 --download_path=. \mysql-community-server \mysql-community-client \mysql-community-common \mysql-community-libs \mysql-community-libs-compat

5️⃣ 生成本地 YUM 仓库索引

createrepo .

6️⃣ 打包并传输至 NodeB

tar czvf mysql57_offline_centos7.tar.gz *
scp mysql57_offline_centos7.tar.gz root@192.168.75.132:/root/

💻 四、在 NodeB 安装 MySQL 5.7(离线主机)

1️⃣ 解压接收到的安装包

mkdir -p ~/offline-mysql57
cd ~/offline-mysql57
mv /root/mysql57_offline_centos7.tar.gz .
tar xzvf mysql57_offline_centos7.tar.gz

2️⃣ 禁用原有远程仓库,配置本地离线源

sudo yum-config-manager --disable '*' || \sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/*.reposudo tee /etc/yum.repos.d/mysql57-local.repo > /dev/null <<EOF
[mysql57-local]
name=Local MySQL 5.7 Repo
baseurl=file://$HOME/offline-mysql57
enabled=1
gpgcheck=0
EOFsudo yum clean all && sudo yum repolist

3️⃣ 安装 MySQL 服务

sudo yum install -y mysql-community-server

4️⃣ 查看安装结果(可选)

yum info mysql-community-server.x86_64
rpm -qa | grep mysql

5️⃣ 启动服务并设置开机自启动

sudo systemctl enable mysqld --now

6️⃣ 获取初始 root 密码

sudo grep 'temporary password' /var/log/mysqld.log

7️⃣ 登录并修改 root 密码

mysql -uroot -p
# 输入上面查到的临时密码mysql> set global validate_password_policy=LOW;
mysql> set global validate_password_length=6;
mysql> set password = password('123456');
mysql> flush privileges;

🔓 8️⃣ 添加远程访问权限

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
+-----------+---------------+
3 rows in set (0.00 sec)mysql> exit;
Bye

✅ 五、实践总结

📌 离线安装 MySQL 5.7 的关键步骤:

  1. 使用 repotrack 下载完整 RPM 依赖
  2. 使用 createrepo 构建本地仓库索引
  3. 打包 .tar.gz 并通过 SCP/U盘发送至 NodeB
  4. 在 NodeB 禁用远程源,配置本地 YUM 仓库
  5. 安装并初始化 MySQL 服务
  6. 修改 root 密码并添加远程访问权限
http://www.lryc.cn/news/590030.html

相关文章:

  • 【Linux】基本指令详解(二) 输入\输出重定向、一切皆文件、认识管道、man、cp、mv、echo、cat
  • VirtualBox 中 CentOS 7 双网卡配置静态 IP
  • C++ - 仿 RabbitMQ 实现消息队列--sqlite与gtest快速上手
  • Spring Boot 项目中数据同步之binlog和MQ
  • C++修炼:IO流
  • 有哪些好用的原型设计软件?墨刀、Axure等测评对比
  • AI产品经理面试宝典第25天:AI+机器人产品设计与技术落地面试题与答法
  • 使用 bat 批量创建带有项目前缀名的文件夹结构
  • 人工智能与机器人研究|深孔内表面缺陷特征内窥测量方法研究
  • Netty介绍和基本代码演示
  • 清理C盘方法
  • PyTorch中张量(TensorFlow)操作方法和属性汇总详解和代码示例
  • Postman接口
  • 【开源.NET】一个 .NET 开源美观、灵活易用、功能强大的图表库
  • GraphQL与REST在微服务接口设计中的对比分析与实践
  • Nacos 开源 MCP Router,加速 MCP 私有化部署
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】
  • 【Fastapi】Token验证与Postman模拟测试
  • HTTP REST API、WebSocket、 gRPC 和 GraphQL 应用场景和底层实现
  • IPv6
  • JavaScript进阶篇——第六章 内置构造函数与内置方法
  • qt 中英文翻译 如何配置和使用
  • AR智能巡检:电力行业数字化转型的“加速器”
  • 二分查找法
  • 力扣面试150(31/150)
  • 坐标系和相机标定介绍,张正友标定法原理,opencv标定
  • C++:现代 C++ 编程基石,C++11核心特性解析与实践
  • NLP:LSTM和GRU分享
  • NO.6数据结构树|二叉树|满二叉树|完全二叉树|顺序存储|链式存储|先序|中序|后序|层序遍历
  • 从零开始的云计算生活——番外4,使用 Keepalived 实现 MySQL 高可用