最近要给已经运营6年的项目做磁盘之间的数据迁移,主要是因为现有的磁盘C不够用了,项目用的是mysql数据库,它默认的数据文件都放在磁盘C,想更改默认存放路径,将它数据文件放到磁盘B的/data中去,经过一番折腾终于搞定了,现在分享给大家,仅供参考。

1.查看下自己的数据库,查看自己数据库的datadir路径
  show global variables like "datadir";
  我的是默认路径 /var/lib/mysql/

2.停止mysqld服务
  systemctl stop mysqld

3.查看mariadb服务状态
  systemctl status mysqld

4.查看mysql服务状态
  systemctl status mysqld

5.创建一个新的存放迁移的目录,我这里创建的是data目录
  mkdir /data

6./data目录权限开放
  chmod 777 /data

7.复制原datadir的数据到/data目录中
  cp -a /var/lib/mysql/* /data/ 

8.将新文件的权限赋予mysql
  chown -R mysql:mysql /data/*

9.修改/etc/my.cnf
  [root@localhost data]# vim /etc/my.cnf
  
  [mysqld]下添加
  datadir=/data
  socket=/data/mysql.sock

  [client]下添加,如果没有client可以手动写入
  socket=/data/mysql.sock
  修改/etc/my.cnf

10.重启mariadb
   systemctl restart mysqld

11.登录mysql验证
   show global variables like "datadir";
   看到datadir 已经修改为之前新建的/data