1. 停止 MySQL 服务
使用以下命令停止 MySQL 服务,以确保在迁移数据时不会有数据写入操作干扰迁移过程:
sudo systemctl stop mysql
2. 复制 data 目录到新位置
使用rsync
命令将/usr/local/mysql/data
目录复制到新磁盘挂载点/mnt/data
:
sudo rsync -av /usr/local/mysql/data/ /mnt/data/
-a
参数表示以归档模式复制,保留所有的文件属性;-v
参数表示显示复制过程的详细信息。
3. 修改 MySQL 配置文件
找到 MySQL 的配置文件,常见的路径有/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/my.cnf
。打开配置文件,找到datadir
配置项,并将其值修改为新的路径/mnt/data
:
[mysqld]
datadir = /mnt/data
4. 调整目录权限
确保新的数据目录的所有者和所属组与 MySQL 运行所需的一致,一般是mysql
用户和组:
sudo chown -R mysql:mysql /mnt/data
sudo chmod -R 755 /mnt/data
5. 启动 MySQL 服务
修改完成并设置好权限后,重新启动 MySQL 服务:
sudo systemctl start mysql
6. 验证迁移结果
登录到 MySQL,检查数据库是否能正常访问和操作,例如:
mysql -u root -p
SHOW DATABASES;
尝试访问一些表,执行一些简单的查询操作,确认数据能够正常读写 。
注意事项
- 迁移前务必对
data
目录进行备份,以防止迁移过程中出现意外导致数据丢失。