首页 > 生活经验 >

问 linux 下 mysql 安装教程 主流发行版部署详解

2026-11-08 22:44:21
最佳答案

答

linux 下 mysql 安装教程核心思路是先确认发行版对应的包管理器,Debian 系比如 Ubuntu Debian 使用 apt 安装,RHEL 系比如 Rocky Linux AlmaLinux CentOS Stream 使用 dnf 安装,也可以选择官方 rpm 或者 tar 包源码编译方式,生产环境优先推荐官方 yum apt 仓库安装,这种方式后续可以直接升级卸载,依赖自动处理,源码编译适合需要自定义编译参数特殊版本的进阶用户。MySQL 是关系型数据库,安装完成之后需要初始化数据库,设置 root 临时密码,开启远程访问,配置开机自启,调整安全选项,很多新手安装完只启动服务,没有做安全加固,很容易出现弱密码或者公网暴露风险。不同 linux 发行版自带的包名称有区别,Ubuntu 默认仓库里面 mysql-server,部分版本会默认替换成 mariadb,这个是 MySQL 的分支,不是原版 MySQL,如果一定要原版 MySQL,必须添加 MySQL 官方仓库,这是新手最容易踩坑的点。安装之前还要检查系统环境,确认内存磁盘空间,关闭端口冲突,检查是否已经安装 mariadb 或者旧版本 mysql,存在旧版本需要先卸载,避免端口库文件冲突,数据库端口默认是 3306,防火墙需要放行对应端口,本地测试可以不开远程,对外业务必须配合防火墙白名单,不要直接全网开放 3306 端口。

发行版安装方式对照表

发行版类型包管理器安装命令备注
Ubuntu Debianaptapt install mysql-server默认仓库可能是 mariadb,原版 mysql 需要官方源
Rocky AlmaLinux CentOS Streamdnfdnf install mysql-server优先添加 mysql 官方 yum 仓库
通用 tar 包无解压后初始化自定义版本,手动配置 systemd 服务
源码编译makecmake 编译高度定制,耗时较长,维护成本高

详细安装步骤

第一步 系统环境准备,更新系统软件源,Ubuntu 执行 apt update,RHEL 系执行 dnf update,检查是否已经存在 mysql 或者 mariadb,使用 rpm qa | grep mysql 或者 dpkg l | grep mysql 查看,存在旧版本执行卸载命令清除旧包。

第二步 添加 MySQL 官方软件仓库,根据系统版本下载官方仓库配置包,导入官方 GPG 密钥,刷新软件缓存,确保可以获取原版 mysql,而不是分支 mariadb。

第三步 执行安装命令,Ubuntu 执行 apt install mysql-server,RHEL 系执行 dnf install mysql-server,等待依赖包自动下载安装完成。

第四步 启动 mysql 服务,systemctl start mysqld 或者 systemctl start mysql,不同发行版服务名有差异,执行 systemctl enable mysqld 设置开机自启。

第五步 获取初始化临时密码,日志文件一般在 /var/log/mysqld.log,使用 grep temporary password /var/log/mysqld.log 查找 root 临时密码。

第六步 登录 mysql,mysql u root p,输入临时密码登录,登录之后立刻修改 root 密码,执行 alter user 命令设置新的高强度密码。

第七步 运行安全初始化脚本,mysql_secure_installation,这个脚本可以移除匿名用户,禁止 root 远程登录,删除测试数据库,刷新权限,是 linux 下 mysql 安装教程非常关键的安全步骤。

第八步 验证安装,登录之后执行 select version,查看 mysql 版本,确认服务运行正常,systemctl status mysqld 查看服务状态。

进阶配置要点

如果需要远程访问,需要修改 mysql 配置文件,一般路径是 /etc/my.cnf 或者 /etc/mysql/my.cnf,找到 bind address,把默认 127.0.0.1 改成 0.0.0.0,然后创建允许远程登录的数据库账号,授权对应库权限,同时配置防火墙 firewalld 或者 ufw 放行 3306 端口,不建议 root 账号直接远程登录。

数据目录默认在 /var/lib/mysql,如果需要迁移数据盘,可以修改 my.cnf 里面 datadir 参数,迁移之后要保证 mysql 用户对新目录拥有读写权限,否则服务启动失败。

如果是 tar 包安装,需要手动创建 mysql 用户,执行 mysqld initialize 初始化,手动编写 systemd unit 文件,没有包管理器自动处理依赖,对操作者 linux 基础要求更高。

如果是源码编译,需要提前安装 cmake gcc ncurses-devel 等编译依赖,编译参数可以自定义字符集存储引擎,但是升级维护麻烦,普通业务不推荐。

综合来说,linux 下 mysql 安装教程优先选择官方软件仓库方式,操作简单,自动解决依赖,安装完成之后一定要做密码修改和安全初始化,远程访问单独建业务账号,不要直接开放 root 远程权限,生产环境还要定期备份数据库。

【常见问题】

问题 1 linux 下 mysql 安装教程里面为什么 Ubuntu 默认装成 mariadb

回答 1 linux 下 mysql 安装教程中 Ubuntu 默认软件仓库经常提供 mariadb,mariadb 是 mysql 的兼容分支,不是原版 mysql,如果需要原版 mysql,linux 下 mysql 安装教程就必须添加 mysql 官方软件源再执行安装。

问题 2 linux 下 mysql 安装教程启动失败是什么原因

回答 2 linux 下 mysql 安装教程里启动失败常见原因是端口 3306 被占用,数据目录权限错误,旧版本残留文件冲突,或者 my.cnf 配置参数错误,可以查看 /var/log/mysqld.log 日志定位报错。

问题 3 linux 下 mysql 安装教程怎么开启远程访问

回答 3 linux 下 mysql 安装教程开启远程访问需要修改配置文件 bind address,创建远程授权账号,并且在防火墙放行 3306 端口,linux 下 mysql 安装教程不建议直接给 root 账号开放远程登录。

问题 4 linux 下 mysql 安装教程安装完成默认密码在哪里

回答 4 linux 下 mysql 安装教程完成初始化之后 root 临时密码保存在 /var/log/mysqld.log 日志中,通过 grep 命令查找 temporary password 关键字获取,首次登录之后必须立刻修改 root 密码。

【免责申明】

本文内容仅作为 linux 下 mysql 安装学习参考,mysql 版本和官方仓库规则会持续更新,数据库属于核心业务数据,生产环境部署前请做好测试与备份,远程访问配置存在安全风险,请结合业务做好权限和防火墙管控,本文不构成生产部署承诺,因操作失误造成的数据损失由操作者自行承担。