如何把ubuntu 22.04下安装的mysql 8 的 数据目录迁移到另一个磁盘目录

在 Ubuntu 22.04 上迁移 MySQL 8 的数据目录到另一个磁盘,一般可以分为 停库 → 拷贝数据 → 修改配置 → 改权限 → 启动验证 这几个步骤。
我给你一个详细且可回滚的方案(不会直接覆盖旧数据,确保安全)。


1. 检查 MySQL 数据目录位置

默认在 /var/lib/mysql

sudo systemctl status mysql
# 或
sudo mysql -e "SHOW VARIABLES LIKE 'datadir';"

2. 停止 MySQL 服务

sudo systemctl stop mysql

确保停掉后,ps -ef | grep mysql 没有残留的 mysqld 进程。


3. 拷贝数据到新磁盘目录

假设你要迁移到 /mnt/data/mysql(新磁盘已经挂载好并有足够空间):

# 创建新目录
sudo mkdir -p /mnt/data/mysql
sudo chown mysql:mysql /mnt/data/mysql
sudo chmod 750 /mnt/data/mysql# 使用 rsync 保持权限和软链接
sudo rsync -av --progress /var/lib/mysql/ /mnt/data/mysql/

注意

  • rsync 的末尾 / 不能省,否则会多一层 mysql 目录。
  • -a 会保留所有权限和时间戳。

4. 修改 MySQL 配置

MySQL 8 在 Ubuntu 22.04 下通常用 mysqld.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到:

datadir = /var/lib/mysql

改成:

datadir = /mnt/data/mysql

如果 MySQL 使用了 socket 文件路径(socket=/var/run/mysqld/mysqld.sock),一般不用改,但如果你的新磁盘不在 /var/run,就要确保 socket 目录权限正确。


5. 更新 AppArmor 配置(Ubuntu 特有)

Ubuntu 默认用 AppArmor 限制 MySQL 访问路径,你需要给新目录放行。

编辑:

sudo nano /etc/apparmor.d/usr.sbin.mysqld

找到类似:

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

在下面加:

/mnt/data/mysql/ r,
/mnt/data/mysql/** rwk,

保存后重载 AppArmor:

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld

6. 权限确认

sudo chown -R mysql:mysql /mnt/data/mysql
sudo chmod 750 /mnt/data/mysql

7. 启动 MySQL

sudo systemctl start mysql

检查是否正常:

sudo systemctl status mysql
sudo mysql -e "SELECT @@datadir;"

8. 验证无误后删除旧目录

sudo mv /var/lib/mysql /var/lib/mysql.bak   # 先备份
# 等一两天确认没问题再删除
sudo rm -rf /var/lib/mysql.bak

可能的坑

  1. 忘记更新 AppArmor → MySQL 启动报错“Permission denied”。
  2. 权限不对mysqld 无法访问目录。
  3. SELinux(CentOS)的问题 → Ubuntu 默认没有 SELinux,所以不用处理。
  4. socket 路径问题 → 迁移后客户端连接失败,需要确认 /var/run/mysqld 存在并有 mysql:mysql 权限。

如果你愿意,我可以帮你写一个 一键迁移脚本,执行后会自动完成拷贝、改配置、更新 AppArmor、验证,并且支持回滚到原目录。
这样就不用担心操作出错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高防CDN和高防IP的各自优势

高防 CDN 和高防 IP 都是网络安全防护的重要手段,二者基于不同的技术原理,在防护场景和优势上各有侧重。以下详细分析它们的各自优势:一、高防 CDN 的优势高防 CDN(Content Delivery Network,内容分发网络)…

《红黑树的原理与C++实现:详解平衡艺术的高效构建与操作》

前引:高效的数据结构是算法性能优化的关键。红黑树作为一种自平衡二叉搜索树,以其稳定的性能广泛应用于各类系统,如数据库索引、内存管理和高级语言的标准库 红黑树通过一组严格的规则确保树的高度始终保持在对数级别,从而保证搜索…

基于SpringBoot+Uniapp的非遗文化宣传小程序(AI问答、协同过滤算法、Echarts图形化分析)

“ 🎈系统亮点:AI问答、协同过滤算法、Echarts图形化分析”01系统开发工具与环境搭建前后端分离架构项目架构:B/S架构运行环境:win10/win11、jdk17小程序端:技术:Uniapp;UI库:colorU…

【从零开始java学习|第四篇】IntelliJ IDEA 入门指南

目录 一、IDEA 概述 1.1 什么是 IntelliJ IDEA? 1.2 IDEA 的核心优势 1.3 版本选择:社区版 vs 旗舰版 二、IDEA 下载与安装 2.1 下载步骤 2.2 安装过程(以 Windows 为例) 2.3 首次启动与激活 三、在 IDEA 中编写第一个 Ja…

什么是 Spring MVC?

题目详细答案Spring MVC 是 Spring 框架中的一个模块,用于构建基于 Web 的应用程序。它遵循 Model-View-Controller#(MVC)设计模式,将业务逻辑、用户界面和数据分离,以促进代码的可维护性和可扩展性。主要包含几个概念…

MySQL User表入门教程

一、User表概述 MySQL的user表位于mysql系统数据库中,是MySQL权限系统的核心,用于存储用户账户信息、认证方式和全局权限。通过操作此表,可实现用户创建、权限分配及安全审计。 二、User表核心字段解析字段名作用示例值Host用户允许连接的主机…

iOS 编译 cpp 代码生成 .a 库备忘

第一步:下载ios-cmake ios-cmake 第二步:复制ios-cmake到cpp项目目录下,打开终端输入: cmake -B build/ios_arm64 \-DCMAKE_TOOLCHAIN_FILE$(pwd)/ios-cmake/ios.toolchain.cmake \-DPLATFORMOS64 \-DCMAKE_BUILD_TYPERelease …

C++11-下

10. lambda表达式 10.1 C98中的一个例子 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。 #include <algorithm> #include <functional> int main() { int array[] {4,1,8,5,3,7,0,9,2,6}; // 默认按照小于比较…

教程 | 用Parasoft SOAtest实现高效CI回归测试

在现代软件开发实践中&#xff0c;持续集成&#xff08;CI&#xff09;已成为提升交付效率、优化代码质量的重要基石。然而&#xff0c;随着功能快速叠加与代码迭代加快&#xff0c;回归缺陷的风险也在同步增长。为了保障每次代码提交不会破坏既有功能&#xff0c;功能回归测试…

Leetcode-138. 复制带随机指针的链表

我们用哈希表来解决这个问题 首先创建一个哈希表&#xff0c;再遍历原链表&#xff0c;遍历的同时再不断创建新节点 我们将原节点作为key&#xff0c;新节点作为value放入哈希表中"""# Definition for a Node.class Node:def __init__(self, x: int, next: Node…

【MATLAB 2025a】安装离线帮助文档

文章目录一、在 MATLAB 设置中安装二、从math works 网站下载ISO&#xff1a;适用于给无法联网的电脑安装或自定义路径三、startup文件说明四、重要说明&#x1f9e9;&#x1f9e9;【Matlab】最新版2025a发布&#xff0c;深色模式、Copilot编程助手上线&#xff01; 版本&#…

JDK21虚拟线程和 Golang1.24协程的比较

文章目录前言1、技术原理与实现机制1.1、JDK21虚拟线程本质&#xff1a;调度机制&#xff1a;内存管理&#xff1a;编程模型&#xff1a;1.2. Go 1.24协程GMP调度模型&#xff1a;抢占式调度&#xff1a;内存优化&#xff1a;编程模型&#xff1a;2、性能对比分析2.1、CPU密集型…