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

离线部署指南:本地下载MySQL 8.0.37并上传服务器Centos7.9安装

离线部署指南:本地下载MySQL 8.0.37并上传服务器安装

在生产环境中,我们常常会遇到服务器无法连接外网的情况,这时候就需要离线安装MySQL。本文详细介绍如何从官网下载MySQL 8.0.37,上传到CentOS 7.9服务器并进行完整安装配置。

环境准备

  • 操作系统: CentOS 7.9
  • MySQL版本: 8.0.37
  • 安装方式: RPM包离线安装

第一步:下载MySQL安装包

访问MySQL官网

  1. 打开 MySQL Community Server下载页面
  2. 选择版本信息:
    • Operating System: Linux - Generic
    • OS Version: Linux - Generic (glibc 2.12)
    • 下载类型: RPM Bundle
      在这里插入图片描述

推荐下载包

选择 mysql-8.0.37-1.el7.x86_64.rpm-bundle.tar (995.4M),这个完整套件包含所有必要的RPM包,避免依赖问题。

第二步:服务器环境清理

在安装新MySQL之前,务必彻底清理系统上可能存在的旧版本:

# 停止MySQL相关服务
systemctl stop mysqld
systemctl stop mariadb# 卸载现有MySQL/MariaDB包
rpm -qa | grep -i mysql | xargs rpm -e --nodeps 2>/dev/null
rpm -qa | grep mariadb | xargs rpm -e --nodeps 2>/dev/null# 清理残留文件和目录
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf
rm -rf /etc/my.cnf.d
rm -rf /var/log/mysqld.log
rm -rf /usr/share/mysql
rm -rf /usr/lib64/mysql# 清理yum缓存
yum clean all

第三步:上传安装包到服务器

使用SCP命令上传

scp /本地路径/mysql-8.0.37-1.el7.x86_64.rpm-bundle.tar root@服务器IP:/tmp/

安装必要依赖

yum install -y libaio numactl

第四步:解压和安装MySQL

解压安装包

cd /tmp
tar -xvf mysql-8.0.37-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

安装RPM包(关键步骤)

必须按顺序安装,否则会出现依赖错误:

# 1. 安装公共文件
yum install -y mysql-community-common-8.0.37-1.el7.x86_64.rpm# 2. 安装客户端插件(这是关键依赖包)
yum install -y mysql-community-client-plugins-8.0.37-1.el7.x86_64.rpm# 3. 安装共享库
yum install -y mysql-community-libs-8.0.37-1.el7.x86_64.rpm# 4. 安装ICU数据文件
yum install -y mysql-community-icu-data-files-8.0.37-1.el7.x86_64.rpm# 5. 安装客户端工具
yum install -y mysql-community-client-8.0.37-1.el7.x86_64.rpm# 6. 安装MySQL服务器
yum install -y mysql-community-server-8.0.37-1.el7.x86_64.rpm

如果遇到依赖问题,可以使用强制安装:

rpm -ivh mysql-community-*.rpm --nodeps --force

其实可以一键安装,跳过未安装完的,防止依赖问题:yum install -y *.rpm --skip-broken

第五步:启动和初始化MySQL

启动MySQL服务

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

在这里插入图片描述

获取初始密码

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

输出示例:A temporary password is generated for root@localhost: 临时密码

第六步:安全配置和远程访问设置

修改root密码

# 使用临时密码登录
mysql -u root -p# 在MySQL中执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

配置root远程访问

mysql -u root -p
-- 创建允许远程连接的root用户
CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;-- 或者修改现有root用户
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
RENAME USER 'root'@'localhost' TO 'root'@'%';FLUSH PRIVILEGES;
EXIT;

修改MySQL配置允许远程连接

# 备份原配置
cp /etc/my.cnf /etc/my.cnf.bak# 添加远程访问配置
cat >> /etc/my.cnf << EOF# 允许远程连接
bind-address = 0.0.0.0# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci# 默认认证插件(兼容旧客户端)
default_authentication_plugin = mysql_native_password
EOF

第七步:防火墙和SELinux配置

(没开防火墙则不用管,云服务器需要在服务器管理打开安全组)

开放防火墙端口

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

SELinux设置(如需要)

# 检查SELinux状态
getenforce# 如为Enforcing模式,可临时设置为Permissive
setenforce 0# 或永久禁用(编辑/etc/selinux/config)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

第八步:重启和验证

重启MySQL服务

systemctl restart mysqld

验证安装

# 检查版本
mysql --version# 本地连接测试
mysql -u root -p -e "SELECT version();"# 检查用户权限
mysql -u root -p -e "SELECT user, host FROM mysql.user;"# 检查端口监听
netstat -tlnp | grep 3306

远程连接测试

从另一台机器测试:

mysql -h 服务器IP -u root -p -e "SELECT '远程连接成功' as status;"
  • navicat测试
    在这里插入图片描述

可选:安全加固

# 运行安全配置脚本
mysql_secure_installation

根据提示进行安全设置:

  • 修改root密码
  • 移除匿名用户
  • 禁止root远程登录(如不需要)
  • 移除test数据库
  • 重新加载权限表

常见问题解决

1. 依赖安装错误

问题: Requires: mysql-community-client-plugins = 8.0.37-1.el7
解决: 确保先安装client-plugins包

2. 服务启动失败

解决: 检查错误日志 /var/log/mysqld.log

3. 远程连接被拒绝

解决:

  • 确认bind-address设置为0.0.0.0
  • 检查防火墙设置
  • 验证用户权限

4. 忘记root密码

# 停止MySQL
systemctl stop mysqld# 跳过权限检查启动
mysqld_safe --skip-grant-tables &# 修改密码
mysql -u root
UPDATE mysql.user SET authentication_string='' WHERE User='root';
FLUSH PRIVILEGES;
EXIT;# 重启MySQL
systemctl restart mysqld

总结

通过本文的步骤,你可以成功在无法连接外网的CentOS 7.9服务器上安装配置MySQL 8.0.37。关键要点:

  1. 下载完整的RPM Bundle包避免依赖问题
  2. 按正确顺序安装RPM包,特别注意client-plugins的安装顺序
  3. 及时修改默认密码并配置安全选项
  4. 合理配置网络访问确保服务可用性

这种离线安装方式在企业内网环境、安全要求高的生产环境中非常实用,确保了服务的稳定性和安全性。


标签: #MySQL #离线安装 #CentOS #数据库部署 #Linux运维
难度: ⭐⭐⭐⭐☆
适用场景: 生产环境、内网服务器、安全要求高的环境

http://www.dtcms.com/a/605594.html

相关文章:

  • Camera Tuning:视觉时代的核心岗位
  • 商城类网站怎么优化网站建设实验代码
  • 【JavaEE】-- IoC DI
  • 制作网站低价网页设计的重点和难点
  • 基于灵动MM32F0130 MCU微控制器的智能插排设计
  • Java-170 Neo4j 事务、索引与约束实战:语法、并发陷阱与速修清单
  • Javaee—— CAS
  • 图片上传git时压缩
  • Flutter 聊天界面使用ListView的reverse:true,导致条目太少的时候会从下往上显示,导致顶部大片空白
  • 湛江市政工程建设公司网站仿别人的网站违法嘛
  • 石景山企业网站建设公司网站开发策划
  • RDMA拥塞控制之CNP
  • 终端Kitty,主要是看有人聊到opencode需要的终端
  • 基于Python的新能源汽车销量数据分析与预测系统设计与实现
  • android recyclerview缓存_缓存问题解决办法
  • GEN-0深度剖析:物理交互数据如何重塑机器人学习的“扩展定律”
  • 各大网站的名字大全百度招聘
  • 泰州网站关键词优化软件咨询在线crm系统是啥
  • ZC序列的原理及在LTE中的应用
  • 山东网站seo推广优化价格对单位网站的要求吗
  • Ubuntu25.10安装Samba
  • Ubuntu 虚拟机文件传输到 Windows的一种好玩的办法
  • 找别人做网站都需要注意啥wordpress访问私密帖子
  • 网站备案需要关闭台州华燕网业有限公司
  • 3D装配动画结合MES系统,助力制造业无纸化办公
  • Tetracycline-Biotin,四环素-生物素,化学性质
  • 李飞飞World Labs发布Marble:用一句话生成可编辑的3D世界
  • Zookeeper 笔记
  • WebSocket 通俗讲解
  • 面向大数据与物联网的下一代时序数据库选型指南:Apache IoTDB 解析与应用