CentOS离线安装MySQL

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情况说明

由于工作需要,需要在测试环境安装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</
### CentOS 离线环境下 MySQL 安装教程 #### 删除原有 MariaDB 在开始安装之前,需要确认并删除可能已经存在的MariaDB组件。这是因为MariaDB与MySQL存在冲突,无法共存于同一环境。 ```bash yum remove mariadb-libs -y ``` 此命令会卸载系统中的MariaDB库文件[^1]。 --- #### 查看 CentOS 版本 为了确保下载适合当前系统的MySQL版本,需先检查CentOS的具体版本号: ```bash lsb_release -a ``` 上述命令可以显示Linux标准基础(LSB)的版本信息,从而帮助判断所需的软件包架构和依赖项[^3]。 --- #### 下载 MySQL 软件包 访问官方MySQL社区服务器页面获取对应版本的压缩包或RPM包。具体链接如下所示: [MySQL Community Server (Archived Versions)](https://dev.mysql.com/downloads/mysql/) 根据操作系统位数以及硬件平台选择合适的二进制分发版进行下载[^2]。 --- #### 解压并配置 MySQL 文件 假设已成功将所需文件传输至目标机器,则按照以下流程完成后续设置工作: 1. **创建用户组和服务账户** 创建专门用于运行mysqld进程的新用户及其所属群组。 ```bash groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` 2. **解压归档文件到指定目录** 将先前获得的tarball提取出来放置在一个固定位置比如`/usr/local/mysql`下。 ```bash tar zxvf mysql-VERSION-linux-glibcVER-ARCH.tar.gz -C /usr/local/ ln -s /usr/local/mysql-VERSION-linux-glibcVER-ARCH /usr/local/mysql cd /usr/local/mysql ``` 3. **初始化数据存储区域** 执行脚本来建立必要的表空间结构以及其他初始参数定义。 ```bash mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ``` 4. **调整权限分配情况** 修改部分关键路径的所有者属性以便正常启动服务程序。 ```bash chown -R root . chown -R mysql data chmod -R go-rwx . ``` 5. **复制模板配置文档** 使用默认样例作为实际使用的my.cnf依据之一。 ```bash cp support-files/my-default.cnf /etc/my.cnf ``` 6. **设定开机自启机制** 注册systemd单元文件或者传统init.d方式实现自动化管理功能。 对于System V风格的服务控制系统来说: ```bash cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld start ``` 对于较新的基于systemctl的操作体系而言则执行下面这些指令即可达到相同效果: ```bash systemctl enable mysqld.service systemctl start mysqld.service ``` 7. **安全加固措施实施** 运行wizard引导工具来更改root密码、移除匿名账号等功能增强整体安全性级别。 ```bash bin/mysql_secure_installation ``` 至此整个过程基本结束,可以通过客户端连接测试验证其有效性。 --- ```python import pymysql.cursors connection = pymysql.connect(host='localhost', user='your_username', password='your_password', database='testdb', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: sql_query = "SELECT 'Installation Successful' AS response" cursor.execute(sql_query) result = cursor.fetchone() finally: connection.close() print(result['response']) ``` 以上Python代码片段展示了如何利用pymysql模块尝试登录本地实例以检验刚才搭建好的MYSQL server是否能够正常使用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值