首页 > 数据库 >Ubuntu下MySQL数据库详细安装指南

Ubuntu下MySQL数据库详细安装指南

来源:互联网 2026-07-30 15:07:16

Ubuntu 24 上 MySQL 安装指南 在 Ubuntu 24.04 系统上部署 MySQL 数据库,其实比想象中要简单得多。这篇文章会带你把两种主流安装方式都走一遍——一种是 Ubuntu 官方仓库自带的版本,另一种是直接从 MySQL 官方仓库拉取最新版。无论你是做开发测试还是生产环境部署

Ubuntu 24 上 MySQL 安装指南

在 Ubuntu 24.04 系统上部署 MySQL 数据库,其实比想象中要简单得多。这篇文章会带你把两种主流安装方式都走一遍——一种是 Ubuntu 官方仓库自带的版本,另一种是直接从 MySQL 官方仓库拉取最新版。无论你是做开发测试还是生产环境部署,这里面的细节都能搞定,包括最近版本自动生成的初始账号密码处理、密码修改、远程访问配置,以及那些让人头疼的常见问题排查。

Ubuntu下MySQL数据库详细安装指南

长期稳定更新的攒劲资源: >>>点此立即查看<<<

方法一:使用 Ubuntu 官方仓库安装 MySQL

步骤一:更新系统包列表

先把系统包列表更新到最新状态,这是老生常谈了,但确实不能省:

sudo apt update
sudo apt upgrade -y

步骤二:安装 MySQL Server

直接通过 APT 安装 MySQL 服务器,依赖会自动处理:

sudo apt install -y mysql-server

步骤三:安装 MySQL 开发包

如果你需要头文件和动态库来做开发,顺便把开发包也装上:

sudo apt install -y libmysqlclient-dev

步骤四:启动并配置 MySQL 服务

  1. 启动服务
sudo systemctl start mysql
  1. 设置开机自启,省得每次重启后手动启动
sudo systemctl enable mysql
  1. 检查一下运行状态,确保一切正常
sudo systemctl status mysql

正常运行输出示例

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since ...

步骤五:处理初始自动生成的用户名和密码

新版本的 MySQL 安装后,会自动为 root 用户生成一个临时密码,需要先找到它。这一点和旧版本不太一样,但处理起来其实很简单:

  1. 查找临时密码:临时密码会被记录在日志文件中,用这条命令提取出来:
sudo grep 'temporary password' /var/log/mysql/error.log

输出示例

[Date Time] [Note] A temporary password is generated for root@localhost: xXxXxXxXxXx

记下这个密码,后面会用到。

  1. 运行安全性脚本:官方提供了一个脚本,可以一键提升安全性并修改初始密码,直接运行:
sudo mysql_secure_installation

交互步骤(建议全部选 Y,省心)

Enter password for user root:  # 输入上述临时密码
You must change the password now (y/N) Y  # 立即修改密码
New password:  # 设置强密码
Re-enter new password:  # 重复强密码
Password updated successfully!
Remove anonymous users (Y/n) Y  # 移除匿名用户
Disallow root login remotely (Y/n) Y  # 禁止 root 远程登录
Remove test database and access to it (Y/n) Y  # 移除测试数据库
Reload privilege tables now (Y/n) Y  # 重新加载权限表

步骤六:修改 root 初始密码(手动方法)

如果你想手动修改密码,也可以按下面的步骤来:

  1. 登录 MySQL
sudo mysql -u root -p
  1. 执行密码修改命令(把 YourNewStrongPassword! 换成你自己的强密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!';
FLUSH PRIVILEGES;  # 刷新权限使修改生效
#ALTER USER 'root'@'localhost' IDENTIFIED BY 'Cybstar@2026';
  1. 验证密码:退出后重新登录,确认新密码能用
exit
sudo mysql -u root -p  # 输入新密码登录

忘记 root 密码的重置方法

万一忘了密码也别慌,这里有个兜底方案:

  1. 停止 MySQL 服务
sudo systemctl stop mysql
  1. 以安全模式启动 MySQL,跳过权限验证
sudo mysqld_safe --skip-grant-tables &
  1. 免密登录 MySQL
sudo mysql -u root
  1. 重置密码并刷新权限(把 YourNewStrongPassword! 换成新密码)
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!';
FLUSH PRIVILEGES;
EXIT;
  1. 停止安全模式进程并重启 MySQL
sudo killall mysqld
sudo systemctl start mysql
  1. 用新密码登录验证
sudo mysql -u root -p

步骤七:验证安装

  1. 登录 MySQL 后,执行版本查询命令,确认安装成功:
SELECT VERSION();

执行后会输出当前 MySQL 的版本信息,看到版本号就说明一切正常。

步骤八:配置防火墙(可选)

如果你需要通过网络访问 MySQL,需要开放 3306 端口。这里用的是 UFW 防火墙:

  1. 开放端口(二选一)
# 方式1:直接允许 MySQL 服务
sudo ufw allow 'MySQL'
# 方式2:精准允许 3306/TCP 端口
sudo ufw allow 3306/tcp
  1. 重新加载防火墙规则
sudo ufw reload

注意:安全起见,建议只允许受信任的 IP 地址访问 3306 端口,而不是完全开放。

方法二:使用 MySQL 官方仓库安装最新版本

如果你想安装 MySQL 的最新版本,那就用官方仓库。前三个步骤是专门的操作,后面就跟方法一一样了。

步骤一:下载并添加 MySQL APT 仓库

  1. 下载官方 APT 仓库配置包(建议去 MySQL APT Repository 确认最新版本)
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
  1. 安装配置包,安装过程中会弹出版本选择界面,选择你需要的 MySQL 版本(比如 8.0)后确认
sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb
  1. 更新系统包列表,让新仓库生效
sudo apt update

步骤二:安装 MySQL Server

sudo apt install -y mysql-server

步骤三:安装 MySQL 开发包

sudo apt install -y libmysqlclient-dev

步骤四至八

参考 方法一步骤四到步骤八,完成服务启动、密码配置、安全性设置、安装验证和防火墙配置,这里不再重复。

附加步骤:配置 MySQL 远程访问(可选)

如果你需要从远程主机访问 MySQL 服务器,需要额外配置。注意:远程访问有安全风险,建议只对受信任的 IP 开放。

步骤一:修改 MySQL 配置文件,允许监听外网

  1. 编辑配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 找到 bind-address 行,将本地监听改为全网监听
# 原配置
bind-address = 127.0.0.1
# 修改后
bind-address = 0.0.0.0
  1. 保存并退出(Ctrl + O 保存,Ctrl + X 退出)

步骤二:重启 MySQL 服务使配置生效

sudo systemctl restart mysql

步骤三:创建远程访问专用用户

不建议直接使用 root 用户远程访问,最好创建一个专用用户并授予权限(把 usernamepassword 换成你自己的):

  1. 登录 MySQL
sudo mysql -u root -p
  1. 创建用户并授予所有权限
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

说明% 表示允许该用户从任意 IP 访问,如果你只想限制特定 IP,把 % 换成具体 IP(比如 192.168.1.100)。

步骤四:配置防火墙开放 3306 端口

  1. 开放端口
sudo ufw allow 3306/tcp
  1. 限制特定 IP 访问(推荐,将 替换为允许的 IP)
sudo ufw allow from  to any port 3306
  1. 重新加载防火墙
sudo ufw reload

常见问题排查

1. 无法启动 MySQL 服务

  1. 查看错误日志定位问题
sudo journalctl -u mysql
  1. 检查配置文件是否存在语法错误;
  2. 确认 3306 端口没有被其他服务占用。

2. 无法连接到 MySQL 服务器

  1. 检查 MySQL 服务是否正常运行
sudo systemctl status mysql
  1. 确认防火墙已开放 3306 端口;
  2. 验证 MySQL 账号密码正确,且用户有对应访问权限;
  3. 远程连接的话,确认 bind-address 已改为 0.0.0.0,并且远程用户权限配置正确。

3. 安装 libmysqlclient-dev 后仍提示找不到头文件

  1. 确认开发包安装成功
dpkg -l | grep libmysqlclient-dev
  1. 检查头文件路径是否正确(默认路径:/usr/include/mysql/);
  2. 编译时手动指定头文件和库文件路径,示例:
# 编译时添加参数 -I/usr/include/mysql -L/usr/lib/mysql

4. 忘记 root 密码

参考 方法一·步骤六 中的「忘记 root 密码的重置方法」,通过安全模式重置密码。

总结

整个安装流程走下来的话,其实核心就是两个仓库的选择和对初始密码的处理。Ubuntu 官方仓库安装简单省事,适合大多数场景;MySQL 官方仓库能拿到最新版,适合需要新特性的项目。远程访问配置虽然不复杂,但安全上得多留个心眼——别直接把 root 扔出去,创建专用用户、限制 IP、配置防火墙,三部曲做好就行。如果遇到问题,日志文件永远是最好的诊断入口。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备2026025700号-3 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。