Linux 系统 MySQL 8.0 详细安装教程

Linux 系统 MySQL 8.0 详细安装教程

文章目录


本文针对 Linux 主流发行版(CentOS 7/8、Ubuntu 20.04/22.04),详细讲解 MySQL 8.0 的两种安装方式(官方 YUM/APT 仓库安装、二进制包安装),附带配置优化和常见问题解决,适合运维人员及开发人员参考。

一、安装前准备

1. 系统要求

  • CentOS:CentOS 7 及以上(64 位),内存 ≥ 2GB,磁盘空间 ≥ 10GB
  • Ubuntu:Ubuntu 20.04 及以上(64 位),内存 ≥ 2GB,磁盘空间 ≥ 10GB
  • 通用要求:关闭防火墙或开放 MySQL 默认端口(3306),禁止安装旧版 MySQL(避免冲突)

2. 清理旧版 MySQL(可选)

若系统已安装旧版 MySQL(如 5.7),需先卸载清理,避免依赖冲突:

(1)CentOS 系统

# 停止 MySQL 服务 systemctl stop mysqld # 卸载 MySQL 组件 yum remove -y mysql-community-server mysql-community-client mysql-community-common mysql-community-libs # 清理残留文件rm -rf /var/lib/mysql/ rm -rf /etc/my.cnf rm -rf /var/log/mysqld.log 

(2)Ubuntu 系统

# 停止 MySQL 服务 systemctl stop mysql # 卸载 MySQL 组件(保留配置文件)apt remove -y mysql-server mysql-client mysql-common # 彻底卸载(删除配置文件)apt purge -y mysql-server mysql-client mysql-common # 清理残留文件rm -rf /var/lib/mysql/ rm -rf /etc/mysql/ rm -rf /var/log/mysql/ 

二、安装方式一:官方 YUM/APT 仓库安装(推荐)

通过 MySQL 官方仓库安装,可自动解决依赖,且方便后续版本更新,适合大多数场景。

2.1 CentOS 系统(YUM 仓库)

(1) 步骤 1:下载并安装官方 YUM 源

# 进入临时目录cd /tmp # 下载 MySQL 8.0 YUM 源(CentOS 7 对应 el7,CentOS 8 对应 el8)# CentOS 7:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm # CentOS 8:# wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm# 安装 YUM 源rpm -ivh mysql80-community-release-el7-3.noarch.rpm 

(2)步骤 2:验证 YUM 源是否生效

 yum repolist enabled |grep mysql 

若输出包含 mysql80-community 相关条目,说明源生效。

(3)步骤 3:安装 MySQL 8.0

 yum install -y mysql-community-server 

等待安装完成,YUM 会自动安装所有依赖组件。

2.2 Ubuntu 系统(APT 仓库)

(1)步骤 1:下载并安装官方 APT 源

# 安装依赖工具aptinstall -y wget gnupg # 下载 MySQL 8.0 APT 源配置文件wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb # 安装 APT 源(安装过程中会弹出配置界面,默认选择 MySQL 8.0 即可,点击 OK 确认) dpkg -i mysql-apt-config_0.8.22-1_all.deb # 更新 APT 缓存apt update 

(2)步骤 2:安装 MySQL 8.0

aptinstall -y mysql-server 

安装过程中会弹出设置 MySQL root 用户密码的界面,输入密码并确认(密码需包含大小写字母、数字、特殊符号,确保安全性)。

三、安装方式二:二进制包安装(适合自定义安装路径)

若需自定义安装路径(如 /data/mysql),可选择二进制包安装,步骤如下(以 CentOS 7 为例,Ubuntu 流程类似):

(1)步骤 1:下载二进制包
我们下载通用二进制包(glibc 2.17,适配 CentOS 7),官网下载地址:https://downloads.mysql.com/archives/community/

在这里插入图片描述
cd /tmp # 下载 MySQL 8.0 二进制包(Linux x86_64)wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-linux-glibc2.17-x86_64.tar #解压tar -xvf mysql-8.0.36-linux-glibc2.17-x86_64.tar 

得到如下文件

在这里插入图片描述

(2)步骤 2:解压安装包并移动到自定义路径

# 解压压缩包,解压到自定义路径(如 /usr/local/app/mysql)tar -xvf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz -C /usr/local/app # 添加软链接cd /usr/local/app ln -s mysql-8.0.36-linux-glibc2.17-x86_64/ /usr/local/app/mysql # 创建数据存储目录mkdir -p /data/mysql/data # 创建日志目录mkdir -p /data/mysql/log 

(3)步骤 3:创建 MySQL 用户和组

# 创建 mysql 组groupadd mysql # 创建 mysql 用户(加入 mysql 组,不允许登录系统)useradd -r -g mysql -s /sbin/nologin mysql # 授权目录权限chown -R mysql:mysql /usr/local/app/mysql/ chown -R mysql:mysql /data/mysql/ 

(4)步骤 4:初始化 MySQL

# 进入 MySQL 安装目录的 bin 目录cd /usr/local/app/mysql/bin # 初始化(生成临时 root 密码,记录日志中的密码) ./mysqld \ --initialize \ --user=mysql \# 运行用户 --basedir=/usr/local/app/mysql \# MySQL 安装目录 --datadir=/data/mysql/data \# 数据存储目录 --log-error=/data/mysql/log/mysqld.log # 自定义日志文件路径(含文件名)
在这里插入图片描述

初始化完成后,查看临时密码:

cat /data/mysql/log/mysqld.log |grep"temporary password"
在这里插入图片描述

输出示例:2024-05-20T08:30:00.123456Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: XXXXXXXX(临时密码)

(5)步骤 5:配置 MySQL 服务

# 复制服务配置文件到 /etc/systemd/system/cp /usr/local/app/mysql/support-files/mysql.server /etc/systemd/system/mysqld.service # 编辑服务配置文件,指定安装路径和数据路径vim /etc/systemd/system/mysqld.service 

在配置文件中添加以下内容(若已存在则修改):

 [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --datadir=/data/mysql/data --basedir=/usr/local/app/mysql --log-error=/data/mysql/log/mysqld.log LimitNOFILE=5000 
在这里插入图片描述

四、MySQL 基础配置

4.1 编辑主配置文件 my.cnf

vim /etc/my.cnf 

添加/修改以下核心配置(根据实际需求调整):

 [mysqld] # 端口 port=3306 # 数据目录(YUM/APT 安装默认 /var/lib/mysql,二进制包安装为自定义路径) datadir=/var/lib/mysql # 套接字文件 socket=/var/lib/mysql/mysql.sock # 字符集(推荐 UTF8MB4,支持 emoji) character-set-server=utf8mb4 # collation collation-server=utf8mb4_unicode_ci # 最大连接数 max_connections=1000 # 日志文件 log-error=/var/log/mysqld.log # 临时表大小 tmp_table_size=64M max_heap_table_size=64M [mysql] # 客户端字符集 default-character-set=utf8mb4 [client] socket=/var/lib/mysql/mysql.sock default-character-set=utf8mb4 
在这里插入图片描述

4.2 启动 MySQL 服务并设置开机自启

(1)CentOS/Ubuntu 通用命令

# 重新加载系统服务(修改配置文件后执行) systemctl daemon-reload # 启动 MySQL 服务 systemctl start mysqld # 查看服务状态(active (running) 表示启动成功) systemctl status mysqld # 设置开机自启 systemctl enable mysqld 
在这里插入图片描述

4.3 重置 root 密码(关键)

(1)YUM/APT 安装(Ubuntu 已设置密码,可跳过)

# 查看临时密码(YUM 安装默认生成临时密码)grep'temporary password' /var/log/mysqld.log # 登录 MySQL mysql -u root -p # 输入上述临时密码# 重置密码(密码强度需符合要求:大小写字母+数字+特殊符号) ALTER USER'root'@'localhost' IDENTIFIED BY 'NewPassword@2024';# 刷新权限 FLUSH PRIVILEGES;

(2)二进制包安装

# 登录 MySQL(使用初始化时的临时密码) /usr/local/app/mysql/bin/mysql -u root -p # 重置密码 ALTER USER'root'@'localhost' IDENTIFIED BY 'NewPassword@2024';# 刷新权限 FLUSH PRIVILEGES;
在这里插入图片描述

4.4 配置远程连接(可选)

默认情况下,root 用户仅允许本地连接,若需远程连接 MySQL,执行以下命令:

# 登录 MySQL mysql -u root -p # 允许 root 用户远程连接(% 表示所有 IP,也可指定具体 IP,如 192.168.1.100) CREATE USER'root'@'%' IDENTIFIED BY 'NewPassword@2024';# 授予 root 用户所有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;# 刷新权限 FLUSH PRIVILEGES;

同时,需开放 Linux 防火墙 3306 端口:

CentOS 系统

# 开放 3306 端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 重新加载防火墙规则 firewall-cmd --reload 

Ubuntu 系统

# 开放 3306 端口 ufw allow 3306/tcp # 重启防火墙 ufw reload 

五、安装验证

# 登录 MySQL /usr/local/app/mysql/bin/mysql -u root -p # 输入重置后的密码# 查看 MySQL 版本select version();# 输出示例:8.0.36# 查看数据库列表 show databases;# 输出包含 information_schema、mysql、performance_schema、sys 等默认数据库,说明安装成功
在这里插入图片描述

六、常见问题解决

6.1 启动 MySQL 服务失败

  • 查看日志排查原因:cat /var/log/mysqld.log
  • 常见原因:端口被占用(使用 netstat -tuln | grep 3306 查看端口占用,修改 my.cnf 中的 port 配置)、数据目录权限不足(执行 chown -R mysql:mysql /var/lib/mysql 授权)

6.2 远程连接失败

  • 检查防火墙是否开放 3306 端口(执行 firewall-cmd --list-portsufw status 查看)
  • 检查 root 用户远程权限是否配置正确(登录 MySQL 执行 select user,host from mysql.user where user='root';,确保 host 为 % 或指定的远程 IP)
  • 检查网络是否通畅(远程机器执行 ping 服务器 IPtelnet 服务器 IP 3306 测试连接)

6.3 密码强度不满足要求

MySQL 8.0 默认启用密码强度验证插件(validate_password),若需设置简单密码,可临时关闭验证:

# 登录 MySQL mysql -u root -p # 关闭密码强度验证set global validate_password.policy=0;set global validate_password.length=6;# 重置简单密码 ALTER USER'root'@'localhost' IDENTIFIED BY '123456';

注意:生产环境不建议关闭密码强度验证,需保证密码安全性。

七、卸载 MySQL(可选)

若需卸载 MySQL,执行以下命令(CentOS 为例):

# 停止服务 systemctl stop mysqld # 卸载组件(YUM 安装) yum remove -y mysql-community-server mysql-community-client mysql-community-common mysql-community-libs # 二进制包安装卸载rm -rf /usr/local/app/mysql rm -rf /data/mysql # 清理配置文件和日志rm -rf /etc/my.cnf rm -rf /var/log/mysqld.log # 删除 mysql 用户和组userdel -r mysql groupdel mysql 

八、总结

本文介绍了 Linux 系统下 MySQL 8.0 的两种安装方式,YUM/APT 仓库安装适合快速部署,二进制包安装适合自定义需求。安装完成后,需重点配置 root 密码和远程连接权限,确保数据库安全可用。若遇到问题,可通过查看日志快速定位原因,按常见问题解决方法处理。

Read more

figma + claude + weavy AI :从会用到用好

figma + claude + weavy AI :从会用到用好

Google ai studio + figma + claude.ai + cosmos + Design with Weavy AI 这套头脑风暴工具看完后,你一定可从其中悟出独特、见解,并为之惊讶。我们不需要自己动手去建房子,我们可以借助不同的工具,去找找灵感,为自己创造东西,自然而然的知道自己的感受,和想要的感受。 1 / GoogleAIStudio 端到端 制定原型 GoogleAIStudio非常好,因为它能端到端完成。然后我发现Gemini在界面设计上真的很厉害!(本次以开发一款音乐日记讲述全流程)。 2 / claude.ai 制定品牌指南 (生成品牌指南 guidelines ) 先谈谈设计思想。 就像电影和电视剧有开头、中间、结尾一样,我们现在还不太在意中间和结尾。用户他们不应该觉得我们在抢他们的注意力,或者强迫他们。用户更不愿意看到一堆广告和各种乱七八糟的东西。 很多人,觉得品牌指南听起来很像企业用语,但我认为如claude、gemin这些头脑风暴工具一定能帮助我们找到想要的点。利用claude制定品牌指南,自己想要什么,我们可以看看这个,

By Ne0inhk
2026最新保姆级教程:手把手教你零基础安装与配置本地 AI 智能体 OpenClaw

2026最新保姆级教程:手把手教你零基础安装与配置本地 AI 智能体 OpenClaw

文章目录 * 前言 * 一、下载并安装 OpenClaw * 二、启动配置向导与绑定 AI 大脑 * 1. 启动向导 * 2. 确认账户类型 * 3. 选择快速入门模式 * 4. 选择大模型 (AI 大脑) * 5. 选择 API 接口区域 * 6. 填入你的专属 API Key * 三、连接通讯渠道 (Telegram) * 1. 选择 Telegram * 2. 绑定机器人的 Token * 第四步:安装扩展插件与重启服务 * 1. 技能插件 (Skills) * 2. 附加功能 (Hooks) * 3. 重启并应用配置 * 第五步:设备安全授权与最终测试 (见证奇迹!) * 1.

By Ne0inhk
今日AI榜单速览(GitHub Trending AI Top3)

今日AI榜单速览(GitHub Trending AI Top3)

🔥 个人主页:杨利杰YJlio❄️ 个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》《Python》《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更简单,让重复的工作自动化 今日AI热榜 * 1 1 今日榜单速览(GitHub Trending AI Top3) * 2 2 ruvnet / RuView:WiFi DensePose 的“无线透视”路线 * 2 我的一句话总结 * 2 为什么今天它能冲到第一? * 2 图:它的可视化界面长这样(很直观) * 2 我如何最快验证(不折腾工具链) * 3 3 K-Dense-AI / claude-scientific-skills:给

By Ne0inhk
【智体OS】ibbot智体机灵 V1.0:你的手机AI超脑,一句话开启智体时代————终将打败OpenClaw的国产开源项目

【智体OS】ibbot智体机灵 V1.0:你的手机AI超脑,一句话开启智体时代————终将打败OpenClaw的国产开源项目

【智体OS】ibbot智体机灵 V1.0:你的手机AI超脑,一句话开启智体时代————终将打败OpenClaw的国产开源项目 发布日期:2026年2月12日 核心定位: 基于dtns.os V5.0的下一代移动端AI智能体平台 🚀 产品宣言:告别笨重,拥抱手机里的AI工作站 还在为OpenClaw这类方案需要额外购置硬件、部署复杂而头疼吗?时代变了!ibbot智体机灵将强大的AI智能体引擎直接塞进你的安卓手机,实现 “零硬件成本、开机即用、揣兜就走” 的终极生产力形态。我们不是另一个AI工具,而是你口袋里的 “AI副驾” 和 “赚钱工作站”。 ✨ 核心亮点:为什么ibbot是颠覆者? 1. 极致轻量与便携 * 部署平台:你正在使用的安卓手机/平板。 * 硬件成本:¥0,充分利用现有设备,无需Mac mini或云服务器。 * 便携性:你的手机就是完整的工作站,灵感随时捕捉,任务随地处理。 2. 一句话创建万物 基于dtns.

By Ne0inhk