怎么在 CentOS 7 腾讯云 CVM 上安装 MySQL 5.7 数据库?

怎么在 CentOS 7 腾讯云 CVM 上安装 MySQL 5.7 数据库?

在 CentOS 7 腾讯云 CVM 上安装 MySQL 5.7 数据库,使用官方 YUM 源方式平均耗时约 10-15 分钟,二进制包部署下载约 500M 左右但无需编译,而源码包仅几十 M 却需要编译时间。

原因分析

CentOS 7 从 2014 年开始默认使用 MariaDB 替代 MySQL,这是因为甲骨文公司收购 MySQL 后存在闭源风险,社区采用分支方式避开风险。因此系统 yum 源中没有 mysql,需要到 mysql 官网下载 yum repo 配置文件。腾讯云 CVM 服务器如果使用公网 yum 源下载速度可能只有几十 kb,建议替换为腾讯源地址 http://mirrors.tencent.com/mysql/yum/ 提升下载速度,如果服务器是腾讯云的则可替换公网域名为内网域名。

解决方案

方法一:使用 YUM 源安装(推荐)

1. 下载 MySQL 5.7 YUM 源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 或腾讯云镜像 wget http://mirrors.tencent.com/mysql/yum/mysql57-community-release-el7-8.noarch.rpm

2. 安装 YUM 源:rpm -ivh mysql57-community-release-el7-8.noarch.rpm 或 yum localinstall mysql57-community-release-el7-8.noarch.rpm

3. 检查 YUM 源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"

4. 安装 MySQL 服务端:yum install mysql-community-server

5. 启动 MySQL 服务:systemctl start mysqld

6. 设置开机启动:systemctl enable mysqld 和 systemctl daemon-reload

方法二:使用 RPM 包安装

按照依赖关系依次安装 4 个 RPM 包,顺序为 common→libs→client→server:

rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm

方法三:二进制包部署

1. 安装依赖:yum -y install autoconf libaio bison ncurses-devel

2. 下载二进制包:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

3. 解压并移动:tar -xf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 和 mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql

4. 初始化数据库:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化密码与配置

安装后获取临时密码:grep 'temporary password' /var/log/mysqld.log,示例输出:2018-06-13T04:04:42.144765Z 1 [Note] A temporary password is generated for root@localhost: #5ejRwZBgquL

登录并修改密码:mysql -u root -p,然后执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

注意 MySQL 密码安全检查插件要求密码必须包含大小写英文、数字、字符且不小于 8 位,否则会报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

开启远程访问

MySQL 默认禁止 root 远程连接,建议新建用户:GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'YourNewPassword123!' WITH GRANT OPTION; 然后执行 flush privileges;

防火墙开放 3306 端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent 和 firewall-cmd --reload

注意事项

1. 卸载旧版本:安装前必须清理 CentOS 7 默认自带的 MariaDB,执行 yum -y remove mariadb mariadb-server 或 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

2. 依赖报错处理:安装 mysql-community-libs 时可能报错 "error: Failed dependencies:mysql-community-common(x86-64) >= 5.7.9 is needed" 和 "mariadb-libs is obsoleted by mysql-community-libs",解决方法是清除 yum 里所有 mysql 依赖包后再次安装

3. GPG 密钥过期:2022 年后可能遇到 MySQL GPG 密钥已过期导致安装失败,需要更新密钥或更换源

4. 登录失败:初次登录可能遇到 "Access denied for user 'root'@'localhost' (using password: NO)",这是因为未使用临时密码,需从 /var/log/mysqld.log 获取

5. 配置文件路径:/etc/my.cnf 中设置 character_set_server=utf8 和 init_connect='SET NAMES utf8' 支持中文

6. 腾讯云优化:腾讯云 CVM 服务器建议替换公网域名为内网域名下载更快,但腾讯云上面没有 centos8 和 centos9 的镜像源

参考来源

来源:MySQL 官方文档 - Installing MySQL on Linux Using the MySQL Yum Repository (https://dev.mysql.com/downloads/repo/yum/)

来源:腾讯云镜像站 - MySQL YUM 源镜像 (http://mirrors.tencent.com/mysql/yum/)

来源:CSDN 技术社区 - CentOS7 安装 Mysql5.7 最全教程 (2022 年 8 月 15 日发布)

来源:博客园 - centos7 下安装 mysql5.7(rpm) (2024 年 8 月 16 日收录)

原文链接:https://www.zjcp.cc/ask/9757.html

posted @ 2026-05-05 10:40  茶猫云呀  阅读(0)  评论(0)    收藏  举报