120 字
1 分钟
Ubuntu 安装 MySQL 8.1 完整指南
2026-01-12

一、确定 Ubuntu 版本#

lsb_release -a
# 示例输出
root@huanfa:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy

二、下载安装包#

前往 MySQL 官网下载 DEB Bundle:https://downloads.mysql.com/archives/community/

# 下载对应版本(DEB Bundle)
sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.1.0-1ubuntu22.04_amd64.deb-bundle.tar

三、解压文件#

# 建议先创建一个目录再解压,避免文件散落
mkdir mysql-deb && cd mysql-deb
sudo tar -xvf ../mysql-server_8.1.0-1ubuntu22.04_amd64.deb-bundle.tar

四、安装 MySQL#

NOTE

安装过程中可能提示缺少 libaio1libmecab2,按以下方式处理:

sudo apt-get update
sudo apt-get install libaio1 libmecab2

libmecab2 安装时会要求设置 root 密码。

# 按顺序依次安装,包之间有依赖关系,顺序不能乱
sudo dpkg -i mysql-common_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-client-plugins_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i libmysqlclient22_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-client-core_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-client_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-client_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server-core_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-server_8.1.0-1ubuntu22.04_amd64.deb

五、验证安装#

mysql -u root -p
# 密码为安装 libmecab2 时设置的密码
# 正常安装后输出示例
mysql> status
--------------
mysql Ver 8.1.0 for Linux on x86_64 (MySQL Community Server - GPL)
...

六、配置外部访问#

-- 查看用户信息
select host, user from mysql.user;
-- 新建允许外部访问的 root 用户(推荐)
CREATE USER root@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
GRANT ALL ON *.* TO root@'%' WITH GRANT OPTION;
flush privileges;
exit;
# 修改 MySQL 配置文件,允许外部连接
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 修改或添加:
bind-address = 0.0.0.0
# 重启 MySQL
sudo service mysql restart

七、修改数据存储位置#

# 停止 MySQL 服务
sudo service mysql stop
# 创建新目录并复制数据
sudo mkdir -p /data/mysql
sudo cp -ar /var/lib/mysql /data/mysql
sudo chown -R mysql:mysql /data/mysql
# 修改 MySQL 配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将 datadir 修改为:
datadir = /data/mysql
WARNING

Ubuntu 有 AppArmor 访问控制,仅修改 MySQL 配置不够,还需同步修改 AppArmor 规则。

# 修改 AppArmor 配置
sudo vim /etc/apparmor.d/usr.sbin.mysqld
# 找到:
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
# 修改为:
# /data/mysql/ r,
# /data/mysql/** rwk,
# 修改 abstractions 配置
sudo vim /etc/apparmor.d/abstractions/mysql
# 找到:
# /var/lib/mysql{,d}/mysql{,d}.sock rw
# 修改为:
# /data/mysql{,d}/mysql{,d}.sock rw
# 重启 AppArmor 和 MySQL
sudo service apparmor restart
sudo service mysql start
# 验证数据目录
mysql -uroot -p -e "show variables like '%datadir%';"
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Ubuntu 安装 MySQL 8.1 完整指南
https://blog.olinl.com/posts/ubuntu-mysql-81/
作者
顾拾柒
发布于
2026-01-12
许可协议
CC BY-NC-SA 4.0

目录