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 -uroot -p
# 输入临时密码 # 3. 修改 root 密码(示例:123456,需包含大小写+数字+特殊字符)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
# 4. 退出验证
exit
mysql -uroot -p123456
# 能登录即密码修改成功
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 即成功
五、常见问题与解决方案
|
问题现象 |
原因 |
解决方法 |
|
|
CentOS 7 官方源停更 |
替换为阿里云 yum 源(步骤二) |
|
安装 libs 包提示 |
包冲突 |
|
|
安装 libs 包提示 |
依赖缺失 |
先安装 |
|
slave 节点 |
未安装客户端 |
按步骤四安装 client 包 |
|
slave 无法远程登录 master |
防火墙未放行 3306 端口 |
master 节点执行 |
|
密码修改失败提示 |
密码复杂度不足 |
密码需包含「大小写+数字+特殊字符」(如 |
六、总结
-
master 节点核心:替换 yum 源 → 卸载冲突包 → 按
common→libs→client→server安装 → 初始化+改密码 → 授权+放行端口; -
slave 节点核心:从 master 拷贝包 → 卸载冲突包 → 按
common→libs→client安装 → 远程登录验证; -
关键原则:MySQL 5.7 依赖顺序不可乱,密码必须满足复杂度,远程访问需放行 3306 端口;
-
该教程适配 VirtualBox 下 CentOS 7 集群,可直接用于 Hadoop 集群对接 MySQL 的部署场景。
更多推荐



所有评论(0)