VirtualBox 集群环境下 MySQL 5.7 完整安装教程(master 服务端 + slave 客户端)

一、环境说明

|---------------|-----------|----------|--------------------|
| 节点 | 角色 | 操作系统 | 核心操作 |
| master | MySQL 服务端 | CentOS 7 | 安装完整 MySQL 服务 + 授权 |
| slave1/slave2 | MySQL 客户端 | CentOS 7 | 仅安装客户端,远程访问 master |

二、前置准备:修复所有节点的 yum 源(CentOS 7 官方源已停更)

1. 所有节点执行(master/slave1/slave2)

复制代码

# 1. 备份原有 yum 配置 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 2. 编辑阿里云 yum 源配置 vi /etc/yum.repos.d/CentOS-Base.repo

2. 粘贴以下阿里云源配置(清空原有内容)

复制代码

[base] name=CentOS-7 - Base - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/ http://mirrors.aliyuncs.com/centos/7/os/x86_64/ http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-7 - Updates - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7/updates/x86_64/ http://mirrors.aliyuncs.com/centos/7/updates/x86_64/ http://mirrors.cloud.aliyuncs.com/centos/7/updates/x86_64/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-7 - Extras - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7/extras/x86_64/ http://mirrors.aliyuncs.com/centos/7/extras/x86_64/ http://mirrors.cloud.aliyuncs.com/centos/7/extras/x86_64/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

3. 刷新 yum 缓存(所有节点)

复制代码

yum clean all && yum makecache

三、master 节点安装 MySQL 服务端

1. 上传并解压 MySQL 安装包

  • 通过 MobaXterm 将 mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar 上传至 master 节点 /usr/local/mysql

  • 解压安装包:

    复制代码

    mkdir -p /usr/local/mysql cd /usr/local/mysql tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

2. 卸载冲突包(CentOS 7 预装 mariadb-libs)

复制代码

rpm -e --nodeps mariadb-libs

3. 安装必备依赖

复制代码

yum install -y libaio numactl perl net-tools perl-Getopt-Long

4. 按顺序安装 MySQL RPM 包

复制代码

# 1. 公共依赖包 rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm # 2. 库文件包 rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm # 3. 客户端包(master 也需安装,用于本地操作) rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm # 4. 服务端包 rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm

注:Header V4 RSA 签名警告可忽略,不影响功能。

5. 初始化并启动 MySQL 服务

复制代码

# 初始化(生成临时密码) mysqld --initialize --user=mysql # 启动服务 + 设置开机自启 systemctl start mysqld systemctl enable mysqld # 查看服务状态(确认启动成功) systemctl status mysqld

6. 修改 root 密码(MySQL 5.7 强制密码复杂度)

复制代码

# 1. 获取初始临时密码 grep 'temporary password' /var/log/mysqld.log # 2. 登录 MySQL mysql -uroot -p # 输入临时密码 # 3. 修改 root 密码(示例:Root@123456,需包含大小写+数字+特殊字符) ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456'; FLUSH PRIVILEGES; # 4. 退出验证 exit mysql -uroot -pRoot@123456 # 能登录即密码修改成功

7. 创建 Hadoop 用户并授予全权限(适配集群访问)

复制代码

# 登录 root 账户后执行 GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' IDENTIFIED BY 'Hadoop@123'; GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'localhost' IDENTIFIED BY 'Hadoop@123'; GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'master' IDENTIFIED BY 'Hadoop@123'; FLUSH PRIVILEGES; # 刷新权限(必执行)

8. 放行 3306 端口(允许 slave 节点远程访问)

复制代码

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

四、slave1/slave2 节点安装 MySQL 客户端(仅客户端,轻量)

1. 从 master 拷贝安装包到 slave 节点

  • 在 master 节点执行:

    复制代码

    # 拷贝 3 个核心包到 /root 目录(便于传输) cp /usr/local/mysql/mysql-community-common-5.7.44-1.el7.x86_64.rpm /root/ cp /usr/local/mysql/mysql-community-libs-5.7.44-1.el7.x86_64.rpm /root/ cp /usr/local/mysql/mysql-community-client-5.7.44-1.el7.x86_64.rpm /root/

  • 通过 MobaXterm 将上述 3 个包拖拽到 slave 节点的 /root 目录。

2. slave 节点执行安装

复制代码

# 1. 卸载冲突包 rpm -e --nodeps mariadb-libs # 2. 按顺序安装(依赖必须前置) rpm -ivh /root/mysql-community-common-5.7.44-1.el7.x86_64.rpm rpm -ivh /root/mysql-community-libs-5.7.44-1.el7.x86_64.rpm rpm -ivh /root/mysql-community-client-5.7.44-1.el7.x86_64.rpm

3. 验证 slave 节点远程访问 master

复制代码

# 执行远程登录命令(master IP 替换为实际地址,如 192.168.56.110) mysql -uhadoop -pHadoop@123 -h 192.168.56.110 # 验证权限(创建测试库) CREATE DATABASE test_hadoop; SHOW DATABASES; # 显示 test_hadoop 即成功

五、常见问题与解决方案

|---------------------------------------------------------|----------------|-------------------------------------------------------------------------------------|
| 问题现象 | 原因 | 解决方法 |
| yum install 提示无法解析 mirrorlist.centos.org | CentOS 7 官方源停更 | 替换为阿里云 yum 源(步骤二) |
| 安装 libs 包提示 mariadb-libs is obsoleted | 包冲突 | rpm -e --nodeps mariadb-libs 强制卸载 |
| 安装 libs 包提示 mysql-community-common >= 5.7.9 is needed | 依赖缺失 | 先安装 mysql-community-common 包 |
| slave 节点 mysql: command not found | 未安装客户端 | 按步骤四安装 client 包 |
| slave 无法远程登录 master | 防火墙未放行 3306 端口 | master 节点执行 firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload |
| 密码修改失败提示 policy requirements | 密码复杂度不足 | 密码需包含「大小写+数字+特殊字符」(如 Hadoop@123) |

六、总结

  1. master 节点核心 :替换 yum 源 → 卸载冲突包 → 按 common→libs→client→server 安装 → 初始化+改密码 → 授权+放行端口;

  2. slave 节点核心 :从 master 拷贝包 → 卸载冲突包 → 按 common→libs→client 安装 → 远程登录验证;

  3. 关键原则:MySQL 5.7 依赖顺序不可乱,密码必须满足复杂度,远程访问需放行 3306 端口;

  4. 该教程适配 VirtualBox 下 CentOS 7 集群,可直接用于 Hadoop 集群对接 MySQL 的部署场景。

相关推荐
棉花糖超人1 小时前
【操作系统】一、操作系统简介
linux·服务器·操作系统
yatum_20142 小时前
CentOS 7 集群 SSH 免密与主机名配置文档
linux·前端·网络
猿月亮2 小时前
MySQL5.7安装图文详细步骤(保姆级教程)-mysql5.7下载安装
mysql·adb
头发那是一根不剩了2 小时前
Ubuntu 离线环境升级 OpenSSH 修复漏洞
linux·运维·ubuntu
别退2 小时前
WSL2安装Freesurfer
linux·运维·服务器
runepic2 小时前
GeoServer在CentOS部署中文乱码显示方框终极解决方案
linux·运维·centos·geoserver
假如梵高是飞行员2 小时前
Ubuntu 磁盘扩容
linux·运维·ubuntu
我爱学习好爱好爱2 小时前
ELK日志分析平台(四):Kibana 7.17.10 部署与基本配置(与ES01同机,基于Rocky Linux 9.6)
linux·运维·elk
TrueDei2 小时前
10年学习Linux大师说这些命令不会等于不会Linux
linux·运维·学习