在服务器环境搭建中,MySQL 作为常用的关系型数据库,其安装与基础配置是开发者的必备技能。本文将详细讲解在 CentOS 系统中通过 Yum 源安装 MySQL 5.7,并完成初始化配置、密码修改及远程访问设置的全过程,适合新手快速上手。
一、环境准备与安装前提
- 权限要求:安装过程需使用
root用户或具备sudo权限的账号,避免因权限不足导致操作失败。 - 依赖说明:需确保系统已安装
yum包管理工具,CentOS 系统默认自带yum,但建议先更新系统源以保证安装稳定性:bash
sudo yum update -y # 可选步骤,更新系统软件包
二、MySQL 5.7 安装步骤
1. 配置 MySQL 官方 Yum 源
MySQL 官方提供了适用于 CentOS 的 Yum 源配置包,通过以下步骤添加:
bash
# 下载 MySQL 5.7 的 Yum 源配置文件(适用于 CentOS 7)
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装配置包,将 MySQL 源添加到系统 Yum 仓库
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2. 安装 MySQL 服务
通过 Yum 命令自动安装 MySQL 5.7 及依赖组件:
bash
sudo yum install mysql-community-server -y
提示:安装过程中会自动处理依赖关系,如需确认,输入
y并回车即可。
3. 启动 MySQL 服务并设置自启
安装完成后,需手动启动服务并配置开机自启,确保服务器重启后数据库能自动运行:
bash
# 启动 MySQL 服务
sudo systemctl start mysqld
# 设置开机自启
sudo systemctl enable mysqld
# 查看服务运行状态(若显示 "active (running)" 则表示启动成功)
systemctl status mysqld
三、初始化配置:修改 root 初始密码
MySQL 5.7 安装后会自动生成 root 用户的临时密码,需先获取临时密码登录,再修改为自定义密码。
1. 获取临时密码
临时密码存储在 MySQL 的日志文件中,通过以下命令提取:
bash
cat /var/log/mysqld.log | grep "temporary password"
执行后会输出类似内容:
plaintext
2023-10-01T08:00:00.123456Z 1 [Note] A temporary password is generated for root@localhost: AbC123!@#
其中 AbC123!@# 即为临时密码(实际密码以日志输出为准)。
2. 登录 MySQL 并修改密码
使用临时密码登录 MySQL 控制台,然后执行密码修改命令:
bash
# 登录 MySQL(输入命令后按提示输入临时密码)
mysql -uroot -p
参数说明:
-uroot:指定登录用户为 root-p:表示需要输入密码(输入时密码默认不显示,输完回车即可)登录成功后,在 MySQL 控制台执行以下命令修改密码:
sql
# 注意:MySQL 5.7 对密码强度有要求(需包含大小写字母、数字和特殊符号)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xuyang111^';
示例密码
Xuyang111^符合强度要求,实际使用时建议替换为自定义强密码。
四、配置远程访问(允许外部连接)
默认情况下,MySQL 仅允许本地(localhost)访问,如需通过远程工具(如 Navicat、DataGrip)连接,需手动配置权限。
1. 授权远程访问权限
在 MySQL 控制台执行以下命令,允许指定 IP 或所有 IP 访问:
sql
# 允许所有 IP 访问(生产环境建议限制具体 IP)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
# 若需限制特定 IP(如 192.168.100.1),则替换为:
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.1' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
参数说明:
*.*:表示所有数据库的所有表'root'@'%':%代表允许所有 IP 以 root 用户登录,替换为具体 IP 则仅允许该 IP 访问
2. 刷新权限配置
修改权限后需执行刷新命令,使配置生效:
sql
FLUSH PRIVILEGES;
五、常见问题补充
-
远程连接失败?
除了上述权限配置,还需检查服务器防火墙是否开放 3306 端口(MySQL 默认端口),可通过以下命令开放:bash
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload -
密码强度报错?
若修改密码时提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明密码不符合强度要求,需调整密码格式(如MySql@2023)。
通过以上步骤,即可完成 CentOS 系统中 MySQL 5.7 的安装与基础配置。如果在操作过程中遇到其他问题,可查看 /var/log/mysqld.log 日志文件排查错误原因。
1298

被折叠的 条评论
为什么被折叠?



