从零开始手把手教你在 CentOS 7 虚拟机上安装 MySQL 8.0 数据库MySQL 8.0.46|CentOS 7|2026-07-23]MySQLLinux数据库目录环境准备与网络配置修复 yum 源CentOS 7 EOL安装 MySQL 8.0启动 MySQL 并获取临时密码重置 root 密码验证安装成功常用配置可选一、环境准备与网络配置1.1 虚拟机网络模式确保虚拟机网络设置为NAT 模式不要用仅主机模式否则无法联网下载软件包。1.2 配置网卡开机自启CentOS 7 默认网卡ONBOOTno需要改为yes# 修改网卡配置 sed -i s/ONBOOTno/ONBOOTyes/g /etc/sysconfig/network-scripts/ifcfg-ens33 # 重启网络服务 systemctl restart network # 确认获取到 IP 地址 ip addr | grep inet预期输出看到inet 192.168.x.x表示 IP 已分配成功。1.3 配置 DNSecho nameserver 114.114.114.114 /etc/resolv.conf echo nameserver 8.8.8.8 /etc/resolv.conf # 测试联网 ping -c 3 baidu.com测试结果ping 通 baidu.com 表示网络配置完成可以进行后续安装。二、修复 yum 源CentOS 7 EOLCentOS 7 已于 2024 年 6 月 30 日停止维护EOL官方镜像源已下线yum install会报Could not resolve host: mirrorlist.centos.org错误。需要将源切换到 vault 归档仓库# 备份并替换源地址 sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-Base.repo sed -i s|^#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-Base.repo # 清除缓存并重建 yum clean all yum makecache注意vault 源下载速度可能较慢请耐心等待。如果仍然失败检查 DNS 是否正确配置。三、安装 MySQL 8.01下载 MySQL 官方 Yum 仓库wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm2安装仓库包yum localinstall -y mysql80-community-release-el7-7.noarch.rpm3安装 MySQL Serveryum install -y mysql-community-server --nogpgcheck关于 --nogpgcheck安装时可能遇到 GPG 密钥验证失败The public key is not installed加上--nogpgcheck跳过验证即可正常安装。这是 MySQL 8.0.46 新包签名与现有密钥不匹配导致的已知问题。安装成功的输出已安装: mysql-community-libs.x86_64 0:8.0.46-1.el7 mysql-community-libs-compat.x86_64 0:8.0.46-1.el7 mysql-community-server.x86_64 0:8.0.46-1.el7 作为依赖被安装: mysql-community-client.x86_64 0:8.0.46-1.el7 mysql-community-client-plugins.x86_64 0:8.0.46-1.el7 mysql-community-common.x86_64 0:8.0.46-1.el7 mysql-community-icu-data-files.x86_64 0:8.0.46-1.el7 替代: mariadb-libs.x86_64 1:5.5.68-1.el7 完毕四、启动 MySQL 并获取临时密码1启动并设置开机自启systemctl start mysqld systemctl enable mysqld2查看临时 root 密码grep temporary password /var/log/mysqld.log输出示例2026-07-22T16:25:29.569574Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: uXk-8h7kD5#冒号后面的uXk-8h7kD5#就是临时密码。五、重置 root 密码MySQL 8.0 默认密码策略非常严格MEDIUM 级别要求密码包含大小写字母、数字、特殊字符且不能包含字典词。使用mysql_secure_installation可能多次失败推荐使用跳过权限方式重置1停止 MySQLsystemctl stop mysqld2跳过权限启动mysqld --usermysql --skip-grant-tables --skip-networking 3免密码进入 MySQL 并重置密码mysql -u root进入 MySQL 后依次执行FLUSH PRIVILEGES; SET GLOBAL validate_password.policyLOW; SET GLOBAL validate_password.length6; ALTER USER rootlocalhost IDENTIFIED BY root123456; exit4恢复正常启动killall mysqld systemctl start mysqld5用新密码登录验证mysql -u root -p # 输入新密码 root123456登录成功标志看到Welcome to the MySQL monitor表示密码重置成功MySQL 已可正常使用。持久化密码策略推荐在 MySQL 中执行以下命令防止重启后策略恢复严格SET PERSIST validate_password.policyLOW; SET PERSIST validate_password.length6;六、验证安装成功# 查看 MySQL 版本 mysql -V # 查看 MySQL 运行状态 systemctl status mysqld最终安装信息MySQL 版本8.0.46 Community Server (GPL)root 密码root123456已降低策略为 LOW开机自启已启用运行状态active (running)七、常用配置可选7.1 修改字符集为 utf8mb4编辑配置文件/etc/my.cnf在[mysqld]下添加[mysqld] character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci [client] default-character-setutf8mb4保存后重启systemctl restart mysqld7.2 允许远程连接# 在 MySQL 中执行 CREATE USER root% IDENTIFIED BY root123456; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; FLUSH PRIVILEGES;远程连接前置条件确保/etc/my.cnf中bind-address0.0.0.0并开放防火墙 3306 端口firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reload7.3 常用运维命令速查最后的就是这个用这个打开数据库 mysql -u root -p操作命令启动 MySQLsystemctl start mysqld停止 MySQLsystemctl stop mysqld重启 MySQLsystemctl restart mysqld查看状态systemctl status mysqld查看版本mysql -V查看日志tail -f /var/log/mysqld.log
CentOS 7 安装 MySQL 8.0 完整教程
从零开始手把手教你在 CentOS 7 虚拟机上安装 MySQL 8.0 数据库MySQL 8.0.46|CentOS 7|2026-07-23]MySQLLinux数据库目录环境准备与网络配置修复 yum 源CentOS 7 EOL安装 MySQL 8.0启动 MySQL 并获取临时密码重置 root 密码验证安装成功常用配置可选一、环境准备与网络配置1.1 虚拟机网络模式确保虚拟机网络设置为NAT 模式不要用仅主机模式否则无法联网下载软件包。1.2 配置网卡开机自启CentOS 7 默认网卡ONBOOTno需要改为yes# 修改网卡配置 sed -i s/ONBOOTno/ONBOOTyes/g /etc/sysconfig/network-scripts/ifcfg-ens33 # 重启网络服务 systemctl restart network # 确认获取到 IP 地址 ip addr | grep inet预期输出看到inet 192.168.x.x表示 IP 已分配成功。1.3 配置 DNSecho nameserver 114.114.114.114 /etc/resolv.conf echo nameserver 8.8.8.8 /etc/resolv.conf # 测试联网 ping -c 3 baidu.com测试结果ping 通 baidu.com 表示网络配置完成可以进行后续安装。二、修复 yum 源CentOS 7 EOLCentOS 7 已于 2024 年 6 月 30 日停止维护EOL官方镜像源已下线yum install会报Could not resolve host: mirrorlist.centos.org错误。需要将源切换到 vault 归档仓库# 备份并替换源地址 sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-Base.repo sed -i s|^#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-Base.repo # 清除缓存并重建 yum clean all yum makecache注意vault 源下载速度可能较慢请耐心等待。如果仍然失败检查 DNS 是否正确配置。三、安装 MySQL 8.01下载 MySQL 官方 Yum 仓库wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm2安装仓库包yum localinstall -y mysql80-community-release-el7-7.noarch.rpm3安装 MySQL Serveryum install -y mysql-community-server --nogpgcheck关于 --nogpgcheck安装时可能遇到 GPG 密钥验证失败The public key is not installed加上--nogpgcheck跳过验证即可正常安装。这是 MySQL 8.0.46 新包签名与现有密钥不匹配导致的已知问题。安装成功的输出已安装: mysql-community-libs.x86_64 0:8.0.46-1.el7 mysql-community-libs-compat.x86_64 0:8.0.46-1.el7 mysql-community-server.x86_64 0:8.0.46-1.el7 作为依赖被安装: mysql-community-client.x86_64 0:8.0.46-1.el7 mysql-community-client-plugins.x86_64 0:8.0.46-1.el7 mysql-community-common.x86_64 0:8.0.46-1.el7 mysql-community-icu-data-files.x86_64 0:8.0.46-1.el7 替代: mariadb-libs.x86_64 1:5.5.68-1.el7 完毕四、启动 MySQL 并获取临时密码1启动并设置开机自启systemctl start mysqld systemctl enable mysqld2查看临时 root 密码grep temporary password /var/log/mysqld.log输出示例2026-07-22T16:25:29.569574Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: uXk-8h7kD5#冒号后面的uXk-8h7kD5#就是临时密码。五、重置 root 密码MySQL 8.0 默认密码策略非常严格MEDIUM 级别要求密码包含大小写字母、数字、特殊字符且不能包含字典词。使用mysql_secure_installation可能多次失败推荐使用跳过权限方式重置1停止 MySQLsystemctl stop mysqld2跳过权限启动mysqld --usermysql --skip-grant-tables --skip-networking 3免密码进入 MySQL 并重置密码mysql -u root进入 MySQL 后依次执行FLUSH PRIVILEGES; SET GLOBAL validate_password.policyLOW; SET GLOBAL validate_password.length6; ALTER USER rootlocalhost IDENTIFIED BY root123456; exit4恢复正常启动killall mysqld systemctl start mysqld5用新密码登录验证mysql -u root -p # 输入新密码 root123456登录成功标志看到Welcome to the MySQL monitor表示密码重置成功MySQL 已可正常使用。持久化密码策略推荐在 MySQL 中执行以下命令防止重启后策略恢复严格SET PERSIST validate_password.policyLOW; SET PERSIST validate_password.length6;六、验证安装成功# 查看 MySQL 版本 mysql -V # 查看 MySQL 运行状态 systemctl status mysqld最终安装信息MySQL 版本8.0.46 Community Server (GPL)root 密码root123456已降低策略为 LOW开机自启已启用运行状态active (running)七、常用配置可选7.1 修改字符集为 utf8mb4编辑配置文件/etc/my.cnf在[mysqld]下添加[mysqld] character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci [client] default-character-setutf8mb4保存后重启systemctl restart mysqld7.2 允许远程连接# 在 MySQL 中执行 CREATE USER root% IDENTIFIED BY root123456; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; FLUSH PRIVILEGES;远程连接前置条件确保/etc/my.cnf中bind-address0.0.0.0并开放防火墙 3306 端口firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reload7.3 常用运维命令速查最后的就是这个用这个打开数据库 mysql -u root -p操作命令启动 MySQLsystemctl start mysqld停止 MySQLsystemctl stop mysqld重启 MySQLsystemctl restart mysqld查看状态systemctl status mysqld查看版本mysql -V查看日志tail -f /var/log/mysqld.log