Linux中将MySQL数据库目录从/var/lib/mysql迁移到/home/mysql_data/mysql的操作指南

沈亦白
沈亦白
发布时间:2026-10-13| 6人浏览过
原创

本文将介绍如何将 Linux 系统中的 MySQL 数据库默认目录 /var/lib/mysql 迁移至自定义路径 /home/mysql_data/mysql。操作包括停止服务、安全复制文件、修改核心配置文件以适配新路径,以及建立必要的软链接,确保 MySQL 服务正常启动。

迁移结果与目标

本操作旨在将 MySQL 的数据存放位置从系统默认的 /var/lib/mysql 转移到空间更充裕的 /home/mysql_data/mysql 目录。完成后,MySQL 的各项功能应保持正常,且原有数据完整无缺。

准备条件

  1. 权限要求:操作需使用具有 sudo 权限的用户执行,因为涉及系统级文件和服务的控制。
  2. 备份建议:虽然以下步骤采用复制方式以降低风险,但在进行任何系统配置变更前,建议先对关键数据进行独立备份。
  3. 环境确认:确认目标路径 /home/mysql_data 存在且拥有足够的存储空间。

真实操作顺序

第1步:停止 MySQL 服务

为了防止数据不一致,首先必须停止正在运行的 MySQL 进程。kloxo 面板环境下若无法获取 root 密码,推荐使用系统服务管理命令。

# service mysqld stop

完成状态判断:执行后若无报错,可使用 ps -ef | grep mysql 检查进程是否已完全退出。

第2步:复制数据库文件

进入原始目录,将 mysql 文件夹完整复制到新的位置。务必使用 -a 参数,该参数等价于 -dR,用于保留文件的权限、所有权及时间戳,这是防止后续启动失败的关键。

# cd /var/lib
# ls
# cp -a mysql /home/mysql_data/

注意:如果数据库体积较大,此过程可能需要较长时间,请确保网络连接稳定以防超时中断。

第3步:修改主配置文件

编辑 /etc/my.cnf,修改两项关键参数:

  1. datadir:指向新目录 /home/mysql_data/mysql。
  2. socket:指向新目录下的 socket 文件路径 /home/mysql_data/mysql/mysql.sock。
# vi /etc/my.cnf

建议:将原来的配置行注释掉(在行首加 #),然后添加新的配置项,以便日后排查问题。

第4步:修改初始化脚本

由于系统通常存在 /etc/init.d 到 /etc/rc.d/init.d 的符号链接映射,直接编辑前者即可影响后者。打开脚本并确保其中的 datadir 路径也已更新。

# vi /etc/init.d/mysqld

目的:确保系统服务启动脚本能正确识别新的数据路径。

第5步:修改安全辅助脚本

部分 MySQL 版本或服务启动时会调用 mysqld_safe,该脚本内也可能硬编码了旧的路径,需要同步修改。

# vi /usr/bin/mysqld_safe

动作:找到 datadir 相关设置,将其改为 /home/mysql_data/mysql。

第6步:建立软链接(兼容性处理)

为了使依赖旧路径的软件或组件能继续工作,可以在原位置建立一个指向新 socket 文件的软链接。

# ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

重要:执行前请确保 /var/lib/mysql/ 目录存在,否则需先创建该目录。

第7步:启动 MySQL 服务

所有修改完成后,重新启动 MySQL 服务。

# service mysqld start

替代方案:也可以选择重启整个服务器(# reboot),让系统自动加载所有新配置。

简要总结

成功迁移后,可通过登录 MySQL 客户端测试基本功能是否正常。以上就是在 Linux 环境中更改 MySQL 数据库存储路径的详细内容,更多关于 Linux 服务器管理和数据库优化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。