当前位置: 首页 > news >正文

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 数据库(图文详细教程)
http://www.jsqmd.com/news/1380565/

相关文章:

  • 零基础搭建JMeter性能测试环境:从JDK安装到JMeter启动全攻略
  • 同行说|让我们意想不到的是,受访的会务和活动组织者在面对“省钱”还是“省心”时,竟然这么选!
  • SVG.js入门指南:轻量级JavaScript库创建与操作SVG图形
  • Micrometer 系列【39】链路追踪:入门案例 | 环境准备
  • 2026成都外墙漏水避坑指南 - 企业资讯
  • 科技查新点是什么意思?与科学技术要点有什么区别?
  • 【北京师范大学主办 | 天津举办】第五届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2026)
  • 2026兰州外墙漏水避坑指南 - 企业资讯
  • 2026运城外墙漏水避坑指南 - 企业资讯
  • Dev-C++ 初学者入门指南:从安装配置到项目实战全解析
  • 2026益阳外墙漏水避坑指南 - 伶鹿到家
  • Python Selenium自动化评教脚本:从原理到实战,解放教务系统操作
  • IEC 61603-2:2004 红外宽带音频传输系统标准拆解|发射 / 接收 / 测试 / 兼容性全指南
  • 哪些大模型能够适配工业场景?拆解中控技术工业 AI 大模型整套方案能力
  • ZABBIX分布式监控Proxy应用实践
  • STM32 ADC从入门到精通:单通道电压测量与滤波实战
  • 【单智能体】AI 研究规划与执行智能体案例讲解
  • 高德地图如何用Paimon+StarRocks构建实时轨迹分析平台
  • 2026年度优选江苏三项岗位培训哪个好深度解析 - 装修教育财税推荐2026
  • 平和堂购物卡闲置了怎么办?2026年线上回收渠道实测经验分享 - 沃卡回收
  • 亚克力专用胶供应商怎么选?这三家口碑稳
  • GBase 8c数据库HTAP原理解析
  • 2026厦门外墙漏水避坑指南 - 企业资讯
  • 语聊房实时语音SDK选型指南:即构、声网、腾讯云对比
  • C#事件声明办法
  • Selenium自动化测试中ChromeDriver版本适配与配置全攻略
  • Linux服务器不死马后门应急响应实战:从查杀到加固全流程解析
  • 如何在10分钟内搭建个人私有云相册:Lychee开源相册系统完整实战指南
  • 技术收敛陷阱:模型训练与分布式系统优化的实战解析
  • 生信分析入门:FASTQ数据质控与预处理实战指南