如何使用apt安装mysql_mysql官方安装方式

发布时间 - 2026-01-22 00:00:00    点击率:
apt install mysql-server 在 Ubuntu/Debian 中默认安装 MariaDB 而非 Oracle 官方 MySQL,因系统维护者自 Ubuntu 22.04、Debian 11+ 起将 mysql-server 包指向兼容分支 MariaDB;需通过官方 APT 仓库或手动安装 .deb 包获取 Oracle MySQL。

Ubuntu/Debian 系统中用 apt 安装 MySQL,实际安装的是 MySQL 社区版的兼容分支——MariaDB(自 Ubuntu 22.04、Debian 11+ 起默认替换),而非 Oracle 官方 MySQL。若明确需要 Oracle 官方 MySQL(含 MySQL Server、MySQL Shell、Connector 等完整生态),必须绕过 apt 仓库,改用官方 APT 仓库或 tarball 方式安装。

为什么 apt install mysql-server 不等于官方 MySQL?

Debian/Ubuntu 维护者出于许可与维护策略考虑,将系统默认的 mysql-server 包指向了 MariaDB(一个高度兼容但独立开发的分支)。运行以下命令可验证:

mysql --versionmysqld --version

输出通常显示 mysqld Ver 10.x.x-MariaDB,而非 8.0.x MySQL Community Server

使用官方 MySQL APT 仓库安装(推荐)

Oracle 提供了适配 Debian/Ubuntu 的官方 .deb 包和签名 APT 源,支持自动更新,最接近“标准官方流程”:

  • 下载并安装 MySQL APT 配置包(以 Ubuntu 22.04 / Debian 11 为例):
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

    安装时会弹出交互界面,用方向键选中 MySQL Server & Cluster,按 Tab 切换到 OK 确认;如需 MySQL Shell 或 Router,可一并勾选。
  • 更新源并安装:
    sudo apt update
    sudo apt install mysql-server

    安装过程会提示设置 root 密码(选择 Use Legacy Authentication Method 更兼容旧客户端)。
  • 验证:
    mysql --version → 应显示类似 mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

手动下载 .deb 包安装(离线/定制场景)

适合无外网更新需求、或需指定版本(如 8.0.32)的环境:

  • 前往 MySQL 官网下载页,选择 Linux - Generic 下的 DebianUbuntu 对应架构的 .deb-bundle(含 server、client、common 等多个 .deb)。
  • 解压后依次安装(顺序重要):
    sudo dpkg -i mysql-common_*.deb
    sudo dpkg -i mysql-community-client-plugins_*.deb
    sudo dpkg -i mysql-community-client-core_*.deb
    sudo dpkg -i mysql-community-client_*.deb
    sudo dpkg -i mysql-community-server-core_*.deb
    sudo dpkg -i mysql-community-server_*.deb

    若提示依赖错误,运行 sudo apt --fix-broken install 自动补全。

注意事项与常见问题

  • 端口冲突:若之前装过 MariaDB,请先卸载(sudo apt remove --purge mariadb-server)并删除数据目录(sudo rm -rf /var/lib/mysql),否则 MySQL 启动失败。
  • 服务管理:官方 MySQL 使用 mysqld 服务名,启动命令为 su

    do systemctl start mysqld
    (不是 mysql)。
  • 安全初始化:首次启动后建议运行 sudo mysql_secure_installation 设置密码策略、移除匿名用户等。
  • 配置文件位置:主配置文件为 /etc/mysql/mysql.conf.d/mysqld.cnf,非 MariaDB 的 /etc/mysql/mariadb.conf.d/


# mysql  # oracle  # linux  # 端口  # ubuntu  # 解压  # 配置文件  # 常见问题  # 为什么  # 安装mysql  # 架构  # for  # Generic  # var  # mariadb  # https  # debian  # router  # 而非  # 新源  # 的是  # 离线  # 首次  # 多个  # 请先  # 弹出  # 服务管理 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: javascript中的数组方法有哪些_如何利用数组方法简化数据处理  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何快速生成ASP一键建站模板并优化安全性?  实例解析Array和String方法  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  微信公众帐号开发教程之图文消息全攻略  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  lovemo网页版地址 lovemo官网手机登录  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  利用vue写todolist单页应用  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel如何创建自定义中间件?(Middleware代码示例)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel如何配置任务调度?(Cron Job示例)  如何选择PHP开源工具快速搭建网站?  Laravel如何自定义分页视图?(Pagination示例)  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  JS中对数组元素进行增删改移的方法总结  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何快速重置建站主机并恢复默认配置?  Android Socket接口实现即时通讯实例代码  JavaScript如何实现错误处理_try...catch如何捕获异常?  如何用免费手机建站系统零基础打造专业网站?  ,南京靠谱的征婚网站?  Laravel如何创建自定义Facades?(详细步骤)  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  javascript基本数据类型及类型检测常用方法小结  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何在宝塔面板中创建新站点?  网站制作壁纸教程视频,电脑壁纸网站?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何用美橙互联一键搭建多站合一网站?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  javascript中闭包概念与用法深入理解  Android利用动画实现背景逐渐变暗  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  iOS验证手机号的正则表达式  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID