news 2026/8/12 20:06:14

CentOS下安装MySQL8.0完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS下安装MySQL8.0完整指南

一、安装方式对比

安装方式适用场景优点缺点
包管理器安装(apt/yum/dnf)快速部署、追求稳定性、新手友好自动处理依赖、配置简单、易于升级维护版本可能较旧、定制化程度低
手动编译安装需要特定版本、深度定制、学习原理版本可控、性能优化灵活、功能模块可选步骤繁琐、依赖管理复杂、易出错
官方仓库安装需要较新稳定版、兼顾便捷与版本版本较新、官方维护、相对规范需添加第三方仓库,有轻微配置成本

对于绝大多数场景,推荐使用包管理器或官方仓库安装。以下以CentOS/RHEL (使用yum/dnf)Ubuntu/Debian (使用apt)两大主流派系为例,演示MySQL 8.0的安装。

二、通过包管理器安装 (推荐)

1. 对于 CentOS / RHEL / Rocky Linux / AlmaLinux 系统

# 1. 添加MySQL官方Yum仓库 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm# 注:请根据你的系统版本(el7, el8, el9)替换上方URL中的对应数字。 # 2. 安装MySQL服务器 sudo yum install -y mysqlcommunity-server# 或使用 dnf (CentOS 8/RHEL 8及以上) # sudo dnf install -y mysql-community-server# 3. 启动MySQL服务并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld # 4. 查看服务状态,确认运行正常 sudo systemctl status mysqld

2. 对于 Ubuntu / Debian 系统

# 1. 更新软件包索引sudo apt update # 2. 安装MySQL服务器 sudo apt install -y mysql-server # 3. 启动MySQL服务并设置开机自启 (Ubuntu 16.04+ / Debian 9+) sudo systemctl start mysql sudo systemctl enable mysql # 4. 查看服务状态 sudo systemctl status mysql

三、初始安全配置与登录

安装完成后,MySQL会生成一个临时root密码(仅适用于某些安装方式,如CentOS的RPM包)或要求你立即设置root密码(如Ubuntu的APT安装)。请按以下步骤操作:

# 1. 查找临时密码 (CentOS/RHEL等系统可能需要) sudo grep 'temporary password' /var/log/mysqld.log # 输出类似:`A temporary password is generated for root@localhost: 3e5r&*qskqQw` # 2. 运行安全配置向导 (强烈推荐) sudo mysql_secure_installation

执行上述命令后,会进入交互式配置,根据提示完成以下操作:

  • 输入当前的root密码(如果是临时密码,则粘贴上一步查到的)。
  • 设置新的root密码(需满足密码强度策略)。
  • 移除匿名用户 (Remove anonymous users?):输入Y
  • 禁止root远程登录 (Disallow root login remotely?):输入Y(除非你明确需要)。
  • 删除测试数据库 (Remove test database and access to it?):输入Y
  • 立即重新加载权限表 (Reload privilege tables now?):输入Y
# 3. 使用新密码登录MySQL mysql -u root -p # 输入你刚设置的root密码

四、基础配置与常用命令

1. 修改配置文件 (如调整字符集、端口等)

MySQL主配置文件通常位于/etc/my.cnf/etc/mysql/my.cnf

# 使用vim或nano编辑配置文件 sudo vim /etc/my.cnf

[mysqld]部分添加或修改以下常见配置:

[mysqld] # 设置默认字符集为utf8mb4 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 设置MySQL数据存储目录 (按需修改) datadir=/var/lib/mysql # 设置MySQL监听端口 (默认3306) port=3306 # 设置表名大小写不敏感 (1为不敏感,0为敏感) lower_case_table_names=1 # 设置最大连接数 max_connections=1000

修改后需重启服务生效:

sudo systemctl restart mysqld # CentOS/RHEL #或 sudo systemctl restart mysql # Ubuntu/Debian

2. 开放远程访问 (谨慎操作)

默认情况下,MySQL只允许本地(localhost)连接。如需从其他机器访问,需进行配置:

-- 1. 在MySQL命令行中,创建一个允许远程连接的用户 (示例:用户`remoteuser`,密码`StrongPass123!`) CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'StrongPass123!'; -- 2. 授予该用户所有数据库的所有权限 (生产环境建议按需细化权限) GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION; -- 3. 刷新权限 FLUSH PRIVILEGES;
# 4. 配置防火墙,开放3306端口# CentOS/RHEL (firewalld) sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload # Ubuntu/Debian (ufw) sudo ufw allow 3306/tcp sudo ufw reload

3. 常用服务管理命令

操作CentOS/RHEL 命令Ubuntu/Debian 命令
启动服务sudo systemctl start mysqldsudo systemctl start mysql
停止服务sudo systemctl stop mysqldsudo systemctl stop mysql
重启服务sudo systemctl restart mysqldsudo systemctl restart mysql
查看状态sudo systemctl status mysqldsudo systemctl status mysql
开机自启sudo systemctl enable mysqldsudo systemctl enable mysql
禁止开机自启sudo systemctl disable mysqldsudo systemctl disable mysql

五、验证安装与基本测试

# 1. 检查MySQL版本 mysql --version# 2. 登录MySQL并执行简单查询 mysql -u root -p -e "SELECT VERSION(); SHOW DATABASES;"

如果一切顺利,你将看到MySQL的版本信息和数据库列表。


参考来源

  • linux安装mysql数据库教程
  • ‌Linux系统安装MySQL数据库详细教程
  • Linux安装MySQL数据库教程
  • linux安装单机mysql_【数据库】-【DB】-Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】-安装-单机...
  • Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/12 20:05:46

HarmonyOS7 颜色 Token 让主题更稳:ArkUI/ArkTS 实战拆解

文章目录前言为什么这个问题经常被写乱场景:品牌页接入深色模式常用颜色语义实操步骤先把页面目标想清楚完整示例:语义颜色驱动品牌页把关键代码一段段拆开容易踩坑的点优化建议颜色 Token 要先分清语义写在最后前言 颜色 token 的重点不是把色值藏起来…

作者头像 李华
网站建设 2026/8/12 20:05:09

桌面端 AI 自动化体验,OpenClaw 从安装到任务测试全流程

💡OpenClaw 桌面 AI 智能体|Windows/macOS 完整部署与问题排查 适配系统:Windows10/11 64 位、macOS 12 及以上✨ 当前版本:Windows v2.9.3 /macOS v2.7.9 现在很多人都想体验可以直接操作桌面文件、软件的 AI 智能体&#xff0…

作者头像 李华
网站建设 2026/8/12 20:04:25

JavaScript无限循环导致浏览器卡死的调试与解决方案

1. 从一次真实的“浏览器卡死”事故说起 那天下午,我正在为一个复杂的表单验证逻辑编写一个 while 循环。本意是遍历一个动态生成的数组,检查每个元素的状态。我自信满满地写下了 while (true) { ... } ,心想里面肯定有 break 条件。结…

作者头像 李华
网站建设 2026/8/12 20:03:49

Apache Doris BitMap去重实战:高基数场景下替代COUNT(DISTINCT)的性能优化方案

1. 从“计数不准”到“精准去重”的实战需求 在数据仓库和实时分析领域,我们经常遇到一个看似简单却暗藏玄机的问题:如何精确地统计一个集合中不重复元素的数量?尤其是在处理海量用户ID、设备ID、订单号等场景时,传统的 COUNT(DI…

作者头像 李华
网站建设 2026/8/12 20:02:27

科研课题查新报告可以加急办理吗?一般多久能拿到?

如果离申报截止日期只剩两三天,才突然想起科技查新报告还没办理, 或者突然接收到导师的临时通知要求科研课题查新报告,当下一点准备还没有。 遇到这些情况,应该怎么办呢?可以要求加急办理查新报告吗? 不慌…

作者头像 李华
网站建设 2026/8/12 19:59:27

.NET编码规范05-Roslyn分析器与StyleCop

.NET编码规范 第 5 篇:Roslyn 分析器与 StyleCop —— 代码质量与风格双保险 前言 如果 .editorconfig 是交通规则标识,那么 Roslyn 分析器就是 24 小时执勤的交警 —— 它在代码编写的瞬间就开始工作,实时检查你的代码是否合规。 本文重…

作者头像 李华