前言
很多刚接触 Linux 的新手,想要搭建 MySQL 数据库,常常卡在不会安装、配置出错、开机不自启、无法远程连接这几个问题上。
本文专为Linux 零基础小白打造,采用CentOS 7/8 / Rocky Linux通用 Yum 安装方式,全程复制命令即可执行,手把手带你完成:MySQL 安装 → 初始化配置 → 设置密码 → 开机自启 → 开放防火墙 → 远程连接,一步到位,看完就能上手生产环境部署。
环境说明系统:CentOS 7 / CentOS 8 / Rocky Linux 通用安装方式:Yum 官方源安装 MySQL 8.0(主流稳定版)适合人群:Linux 新手、后端开发、服务器建站、学习数据库运维
一、前期准备:关闭防火墙 & SELinux(可选避坑)
1. 关闭 SELinux
SELinux 容易导致 MySQL 权限报错,新手建议直接关闭:
bash
运行
# 临时关闭 setenforce 0 # 永久关闭 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config2. 关闭防火墙(或后续放行端口)
bash
运行
# 关闭并禁用开机自启 systemctl stop firewalld systemctl disable firewalld生产环境不建议关闭防火墙,后文会教单独放行 3306 端口。
二、下载并安装 MySQL 官方 Yum 源
1. 下载 MySQL 8.0 源包
bash
运行
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm2. 安装 Yum 源
bash
运行
rpm -ivh mysql80-community-release-el7-3.noarch.rpm3. 检查 MySQL 源是否生效
bash
运行
yum repolist enabled | grep mysql出现 mysql80 相关源即代表成功。
三、一键安装 MySQL 8.0 服务
执行安装命令,全程默认回车即可:
bash
运行
yum install -y mysql-community-server等待依赖自动下载安装,直到出现 Complete! 表示安装完成。
四、启动 MySQL 并设置开机自启
1. 启动 MySQL 服务
bash
运行
systemctl start mysqld2. 设置开机自启
bash
运行
systemctl enable mysqld3. 查看运行状态
bash
运行
systemctl status mysqld显示active (running)说明运行正常。
五、获取 MySQL 初始临时密码
MySQL 8.0 安装后默认生成临时密码,存放在日志文件中:
bash
运行
grep 'temporary password' /var/log/mysqld.log输出类似:root@localhost: 随机初始密码复制冒号后面的完整临时密码,后续登录要用。
六、登录 MySQL 并修改初始密码
1. 用临时密码登录数据库
bash
运行
mysql -uroot -p回车后粘贴刚才复制的临时密码,注意密码不显示,直接回车即可登录。
2. 修改 root 登录密码
MySQL8.0 默认密码策略要求:大小写字母 + 数字 + 特殊符号
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';示例:
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@123456';3. 刷新权限
sql
flush privileges;4. 退出数据库
sql
exit;七、配置 MySQL 允许远程连接
默认 root 只允许本机 localhost 登录,需开启远程访问。
1. 重新登录 MySQL
bash
运行
mysql -uroot -p输入刚才修改后的新密码。
2. 创建远程访问用户(或授权现有 root)
方式一:授权 root 所有 IP 远程登录
sql
# 允许任意IP连接 update mysql.user set host='%' where user='root' and host='localhost'; # 刷新权限 flush privileges; exit;方式二:新建专属远程用户(生产推荐)
sql
CREATE USER 'dbuser'@'%' IDENTIFIED BY 'MySQL@123456'; GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%'; flush privileges; exit;八、防火墙放行 3306 端口(生产必做)
如果没有关闭防火墙,必须放行 MySQL 端口:
bash
运行
# 放行3306端口 firewall-cmd --permanent --add-port=3306/tcp # 重新加载防火墙规则 firewall-cmd --reload九、修改 MySQL 配置文件(可选优化)
配置文件路径:/etc/my.cnf
bash
运行
# 编辑配置文件 vi /etc/my.cnf添加以下基础配置(适配中文、编码、连接数):
ini
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=500 default-storage-engine=INNODB [mysql] default-character-set=utf8mb4保存退出后重启 MySQL 生效:
bash
运行
systemctl restart mysqld十、本地 Navicat/DBeaver 远程连接测试
- 连接地址:服务器公网 IP
- 端口:3306
- 用户名:root 或 自建远程用户
- 密码:你设置的 MySQL 新密码
直接点击连接,即可正常使用,无报错即部署成功。
十一、常见报错 & 避坑总结
密码太简单报错MySQL8.0 强制密码复杂度,必须包含大写、小写、数字、特殊符号。
远程连接不上
- 防火墙未放行 3306 端口
- MySQL 用户 host 还是 localhost 未改成 %
- 服务器云厂商安全组未放行 3306 端口(阿里云 / 腾讯云需后台添加规则)
- 忘记 MySQL 密码可通过修改 my.cnf 跳过权限验证,重置密码,评论区可留言我发教程。
结语
本篇教程全程适配 Linux 零基础,不用懂复杂命令,逐条复制粘贴就能完成 MySQL 安装、初始化、自启、远程连接全套配置。
后续会更新:MySQL 密码重置、主从复制、定时备份、卸载教程,需要的可以点赞收藏,防止后期找不到。