CentOS离线安装MySQL

本文介绍了在没有外网权限的CentOS 7环境下,如何离线安装MySQL 5.7.24。首先,从镜像站下载必要的rpm包,包括MySQL的各组件和numactl等依赖。接着,将文件上传到服务器并按照特定顺序安装,解决可能出现的依赖冲突问题。在安装过程中,需要卸载系统自带的mariadb以消除冲突。安装完成后,启动MySQL服务,通过日志找到初始密码,修改密码并设置远程连接权限。

情况说明

由于工作需要,需要在测试环境安装mysql数据库,但是,测试环境一般是没有外网权限的,因此无法通过常规的yum方法安装。通过网上查阅,总结出了两个方法,以下是其中之一。

环境说明

  • 操作系统:CentOS 7.2.1511 x86_64
  • MYSQL:Community 5.7.24-1.el7.x86_64

[注] 可以使用cat /etc/redhat-release 命令,来确定自己安装的CentOS的具体版本。

准备工作

  1. 下载 MySQL 的安装包,这里推荐使用搜狐的镜像站下载,因为从MySQL官网下载的速度实在感人,镜像地址 选择对应的版本号下载即可。我在此使用的rpm包有以下4个:

    • mysql-community-client-5.7.33-1.el7.x86_64.rpm
    • mysql-community-common-5.7.33-1.el7.x86_64.rpm
    • mysql-community-libs-5.7.33-1.el7.x86_64.rpm
    • mysql-community-server-5.7.33-1.el7.x86_64.rpm

    以上四个rpm包是必须的,如果还需要其他的功能,可以自行进行下载。

  2. 下载 numactl 软件包:

    • numactl-2.0.12-5.el7.x86_64.rpm
    • numactl-devel-2.0.12-5.el7.x86_64.rpm
    • numactl-libs-2.0.12
### CentOS 离线环境下安装 MySQL 的方法 #### 准备工作 在离线环境中安装 MySQL 需要提前准备好所需的 RPM 安装包以及相关依赖项。可以通过在线机器下载所需文件并传输至目标主机完成安装。 1. **确认系统环境** 使用 `cat /etc/os-release` 或者 `uname -r` 查看当前系统的版本号,确保与所选的 MySQL 版本兼容[^2]。 2. **卸载已有 MariaDB 和 MySQL 依赖** 如果系统中已存在默认安装数据库组件,则需先清理这些旧版软件包以避免冲突。 ```bash rpm -qa | grep mariadb | xargs rpm -e --nodeps rpm -qa | grep mysql | xargs rpm -e --nodeps ``` 3. **获取 MySQL 安装包及其依赖** 访问官方站点或者镜像源下载对应操作系统的 MySQL 软件集合压缩档(如 `mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar`),将其解压后获得多个 `.rpm` 文件[^4]。 4. **拷贝资源到目标服务器** 利用 USB 存储设备或者其他方式将上述收集好的二进制分发包传送到无网络连接的目标计算机上。 #### 执行具体操作流程 1. **解析 tarball 并识别内部结构** 将之前准备完毕的归档文档放置于 `/usr/local/src/` 目录下并通过以下指令展开内容: ```bash cd /usr/local/src/ tar xf mysql-*.tar ls *.rpm ``` 2. **依序部署各子模块** 根据实际需求决定是否启用额外功能插件,在此仅列举核心部分即可满足基本运行条件: ```bash yum install libaio perl -y # 提供必要的支持库 rpm -ivh mysql-community-common-*.rpm \ mysql-community-libs-*.rpm \ mysql-community-client-*.rpm \ mysql-community-server-*.rpm ``` 3. **初始化配置参数调整** 创建初始数据目录及权限分配,并编辑主配置文件设置监听端口等基本信息: ```ini mkdir -p /var/lib/mysql && chown -R mysql:mysql /var/lib/mysql/ cp support-files/my-default.cnf /etc/my.cnf vim /etc/my.cnf # 添加自定义选项比如 bind-address=0.0.0.0 port=3306 etc. ``` 4. **启动服务进程验证状态** 启动守护程序检验能否正常加载各项设定值: ```bash systemctl enable mysqld.service systemctl start mysqld.service ps aux | grep mysqld # 检查后台是否有实例存活 netstat -tulnp | grep :3306 # 测试开放接口情况 ``` 5. **修改管理员账户认证机制** 登陆控制台重置超级用户的登录凭证以便后续管理维护更加安全可靠: ```sql SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password'); FLUSH PRIVILEGES; EXIT; ``` 6. **移除临时绕过策略恢复常规访问模式** 编辑 my.cnf 删除先前加入用于跳过的行重新激活授权表校验逻辑之后再次重启生效: ```bash sed -i '/skip-grant-tables/d' /etc/my.cnf systemctl restart mysqld.service ``` ### 注意事项 整个过程中务必保持谨慎态度对待每一步骤细节处理以免遗漏重要环节影响最终成果达成率。另外考虑到不同发行板之间可能存在细微差异所以建议参照官方手册进一步核实适用范围内的最佳实践方案[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值