Linux下迁移MySQL data目录的详细操作步骤

阿橙
阿橙
发布时间:2026-10-14| 2人浏览过
原创

由于系统默认的MySQL安装会将数据库文件存储在/var/lib目录下,从存储安全和磁盘管理的角度考虑,通常需要将其迁移至空间更大的独立分区。本指南详述在Linux环境下将MySQL data目录迁移到新位置的操作流程与配置修正方法。

操作前准备:停止相关服务

为确保数据不损坏且进程无锁定,执行迁移前必须严格停止Web服务器和数据库服务。推荐使用service命令进行操作:

service httpd stop
service mysqld stop

第一步:移动MySQL数据目录

接下来需要将原本的/var/lib/mysql目录整体移至目标位置,例如/data/mysql或/home/mysql。在此强烈建议使用mv命令而非cp命令进行移动。

操作逻辑说明: Linux的文件系统特性决定了mv命令能够自动保留原始文件的属主、组属性及相关权限。特别是SELinux的安全上下文,若手动复制会导致权限错乱且配置极为繁琐。使用mv可规避后续的权限与安全策略修复工作。

mv -R /var/lib/mysql /data/mysql

第二步:修正MySQL核心配置文件

移动完毕后,需编辑主配置文件以告知MySQL新的数据存储位置与套接字位置。配置文件通常位于/etc/my.cnf,根据实际设定的目标路径修改以下项:
(注:参考原教程中路径为/home/mysql)

[mysqld]
# datadir=/var/lib/mysql
datadir=/home/mysql

# socket=/var/lib/mysql/mysql.sock
socket=/home/mysql/mysql.sock

[mysqld_safe]
socket=/home/mysql/mysql.sock

[client]
socket=/home/mysql/mysql.sock

[mysql.server]
socket=/home/mysql/mysql.sock

第三步:更新PHP环境中的Socket路径

许多部署环境依赖PHP连接MySQL,若仅修改了后端配置而忽略应用层设置,PHP网站将无法读取数据库。需打开PHP配置文件(通常为/etc/php.ini),定位并修改默认的Socket路径:

[mysql]
mysql.default_socket = /home/mysql/mysql.sock

[mysqli]
mysql.default_socket = /home/mysql/mysql.sock

第四步:重启服务完成验证

所有路径信息均已更新后,按顺序重新启动服务:

service httpd start
service mysqld start

启动过程中如无报错输出,即可通过命令行或网页端尝试访问数据库,确认迁移后的数据完整性与读写功能是否正常运行。

以上就是Linux下将MySQL data文件夹位置迁移的详细内容,更多关于MySQL数据库运维的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。