centos7安装mysql57- 2026整理 mysql5.7.44

MySQL 5.7 完整安装与配置文档 (CentOS 7)

一、安装方式概览

MySQL 5.7 在 CentOS 7 上有三种主流安装方式:

安装方式 优点 缺点 适用场景
YUM 安装 自动处理依赖,命令简单 需要网络 联网环境,快速部署
RPM 包安装 离线安装,版本可控 需手动处理依赖顺序 内网环境,批量部署
二进制包安装 完全离线,路径自定义 需手动配置服务 高度定制,多版本共存

二、方式一:YUM 安装(推荐联网环境)

2.1 卸载系统自带 MariaDB

bash 复制代码
# 检查是否存在 MariaDB
rpm -qa | grep mariadb

# 卸载(替换为实际包名)
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

2.2 添加 MySQL YUM 仓库

bash 复制代码
# 下载并安装官方仓库
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm

2.3 安装 MySQL 5.7

bash 复制代码
yum install -y mysql-community-server

# 如遇 GPG 密钥问题,可临时跳过验证
yum install -y mysql-community-server --nogpgcheck

2.4 启动与初始配置

bash 复制代码
# 启动并设置开机自启
systemctl start mysqld
systemctl enable mysqld

# 获取临时密码
grep 'temporary password' /var/log/mysqld.log

三、方式二:RPM 包离线安装

3.1 下载 RPM Bundle 包

3.2 解压并按顺序安装

bash 复制代码
# 解压
tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

# 必须按以下顺序安装
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm

3.3 启动与初始配置

同 YUM 方式的 [2.4 节](#2.4 节)。


四、方式三:通用二进制包安装

4.1 下载与解压

bash 复制代码
# 下载二进制包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

# 解压到 /usr/local
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql

4.2 创建用户与目录

bash 复制代码
# 创建 mysql 用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 创建数据目录并授权
mkdir -p /data/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql

4.3 初始化数据库

bash 复制代码
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

# 记住输出的临时密码

4.4 配置服务与启动

bash 复制代码
# 复制启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# 启动服务
service mysqld start

五、通用后续配置(所有方式均适用)

5.1 首次登录并修改密码

bash 复制代码
# 使用临时密码登录
mysql -uroot -p

# 在 MySQL 命令行中执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

5.2 密码复杂度策略配置

MySQL 5.7 通过 validate_password 插件控制密码策略。

5.2.1 查看当前策略
sql 复制代码
-- 检查插件是否已启用
SHOW VARIABLES LIKE 'validate_password%';
5.2.2 临时降低策略(设置弱口令)
sql 复制代码
-- 设置策略为 LOW(仅校验长度)
SET GLOBAL validate_password_policy=0;
SET GLOBAL validate_password_length=1;

-- 策略说明:
-- 0 / LOW    : 仅校验长度 ≥8 位
-- 1 / MEDIUM : 需包含数字、大小写字母、特殊字符(默认)
-- 2 / STRONG : 额外校验字典文件
5.2.3 修改为简单密码
sql 复制代码
-- 降低策略后,可设置简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
5.2.4 永久生效配置

编辑 /etc/my.cnf,在 [mysqld] 下添加:

ini 复制代码
[mysqld]
validate_password_policy=0
validate_password_length=1

重启服务生效:

bash 复制代码
systemctl restart mysqld

5.3 开启远程访问

sql 复制代码
-- 授权 root 用户远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5.4 防火墙放行端口

bash 复制代码
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

# 或直接关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld

5.5 设置 UTF-8 字符集

编辑 /etc/my.cnf,在 [mysqld] 下添加:

ini 复制代码
[mysqld]
character-set-server=utf8

重启服务:

bash 复制代码
systemctl restart mysqld

5.6 创建项目专用数据库

sql 复制代码
-- 登录后执行
CREATE DATABASE springboot_vue_test DEFAULT CHARACTER SET utf8;

六、常用管理命令速查

操作 命令
启动服务 systemctl start mysqld
停止服务 systemctl stop mysqld
重启服务 systemctl restart mysqld
查看状态 systemctl status mysqld
设置开机自启 systemctl enable mysqld
登录数据库 mysql -uroot -p
查看版本 SELECT VERSION();
查看临时密码 grep 'temporary password' /var/log/mysqld.log

七、常见问题排查

问题 解决方法
端口 3306 被占用 lsof -i:3306 查看占用进程并终止
启动失败,日志报权限错误 chown -R mysql:mysql /var/lib/mysql
密码策略太严格 按 [5.2 节](#问题 解决方法 端口 3306 被占用 lsof -i:3306 查看占用进程并终止 启动失败,日志报权限错误 chown -R mysql:mysql /var/lib/mysql 密码策略太严格 按 5.2 节 降低策略 远程连接被拒 检查防火墙和 5.3 节 授权 依赖 libaio 缺失 yum install -y libaio) 降低策略
远程连接被拒 检查防火墙和 [5.3 节](#问题 解决方法 端口 3306 被占用 lsof -i:3306 查看占用进程并终止 启动失败,日志报权限错误 chown -R mysql:mysql /var/lib/mysql 密码策略太严格 按 5.2 节 降低策略 远程连接被拒 检查防火墙和 5.3 节 授权 依赖 libaio 缺失 yum install -y libaio) 授权
依赖 libaio 缺失 yum install -y libaio

八、版本选择建议

版本 说明
5.7.44 最终版,安全补丁最全,推荐生产使用
5.7.33 中间版本,存在已知漏洞,不推荐

建议直接安装 5.7.44 以获得最佳安全性和稳定性。

相关推荐
dLYG DUMS9 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
苍煜9 小时前
MySQL分库分表和ES到底怎么选?
数据库·mysql·elasticsearch
czlczl2002092510 小时前
松散索引扫描/跳跃索引扫描
数据库·mysql·性能优化
苍煜11 小时前
二叉树、红黑树、B树、B+树通俗教学:各自适配场景+MySQL索引终极选型原因
数据结构·b树·mysql
【心态好不摆烂】13 小时前
MySQL操作库
数据库·mysql
zx28596340016 小时前
Laravel5.x版本革新特性全解析
mysql·gateway·智能路由器
shaoming377618 小时前
检查系统硬件配置是否满足PyCharm最低要求
android·spring boot·mysql
czlczl2002092518 小时前
MAX()和MIN()优化
数据库·mysql·性能优化
消失的旧时光-194319 小时前
SQL 第一篇:CRUD 实战,从 user 表开始写接口
数据库·sql·mysql
.小小陈.20 小时前
MySQL 核心基础:数据类型与表约束全解析
数据库·mysql