本地下载MySQL 8.0.37并上传服务器Centos7.9安装的完整指南
作者:码农阿豪@新空间
环境准备
操作系统: CentOS 7.9
MySQL版本: 8.0.37
安装方式: RPM包离线安装
第一步:下载MySQL安装包
访问MySQL官网
选择版本信息:
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。关键要点:
- 下载完整的RPM Bundle包避免依赖问题
- 按正确顺序安装RPM包,特别注意client-plugins的安装顺序
- 及时修改默认密码并配置安全选项
- 合理配置网络访问确保服务可用性
这种离线安装方式在企业内网环境、安全要求高的生产环境中非常实用,确保了服务的稳定性和安全性。
以上就是本地下载MySQL 8.0.37并上传服务器Centos7.9安装的完整指南的详细内容,更多关于centos7.9离线安装mysql的资料请关注脚本之家其它相关文章!
