迁移 mysql 数据目录

在 CentOS 中迁移 MySQL 的数据目录 /var/lib/mysql 到其他磁盘可以按以下步骤进行:

  1. 停止MySQL服务
sudo service mysqld stop
  1. 新建目标数据目录,假设新的数据目录为 /home/mysql/data,创建该目录:
sudo mkdir /home/mysql/data
  1. 将原数据目录中的内容复制到新目录
sudo cp -r /var/lib/mysql /home/mysql/data
  1. 修改新数据目录权限
sudo chown -R mysql:mysql /home/mysql/data/mysql
sudo chmod -R 755 /home/mysql/data/mysql
  1. 修改 MySQL 配置编辑MySQL配置文件 /etc/my.cnf,在 [mysqld] 部分添加:
log-bin = /home/mysql/data/mysql/hfgc-5-bin
log_bin_index = /home/mysql/data/mysql/hfgc-5-bin.index
datadir=/home/mysql/data/mysql
socket=/home/mysql/data/mysql/mysql.sock

将 datadir、log-bin 等相关项的值修改为新的数据目录路径。

  1. 重新启动MySQL服务
sudo service mysqld start

MySQL会自动使用新的 datadir 路径启动。

  1. 检查 MySQL 是否正常运行进入 MySQL 命令行,检查数据库、表等是否正常:
show databases;
use test; 
show tables;

确认无异常后说明迁移成功。

  1. 删除原数据目录(可选)确认迁移成功后可以删除原数据目录 /var/lib/mysql。

以上步骤通过修改配置、复制数据并修改权限的方式完成 MySQL 数据目录的迁移。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 ethan89@aliyun.com

×

喜欢就点赞,疼爱就打赏