Mysql 数据文件&&日志文件 目录地址迁移指南

本文详细介绍了在CentOS 6.5和Mysql 5.5.43环境下,如何将MySQL的数据文件和日志文件迁移至新目录。步骤包括:停止服务、创建新目录、修改权限和所有权、拷贝文件、修改配置文件、处理AppArmor配置,并重启服务。在迁移过程中需要注意文件权限和AppArmor设置,否则可能导致服务无法启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       我们在日常部署mysql服务时,经常会考虑到磁盘空间问题,而需要做默认存储目录以及日志目录的迁移,虽然网上零零散散也有很多教程,但经过本人试验,很多文章都比较表层,照着做会出现这样那样的问题,所以今天特别开个专题,把数据文件和日志文件迁移的过程合在一起详细地阐述一遍。

       

       环境参数:CentOS 6.5 、Mysql 5.5.43

       迁移后路径:数据库文件保存在 /data/mysql 下,日志文件保存在 /data/log/mysql 下

 

      步骤:

      一、停止Mysql服务: service mysql stop

      二、创建 /data/mysql 和 /data/log/mysql 文件夹

      三、修改数据库文件夹的宿主为mysql:chown -R mysql:mysql /data/mysql

      四、修改日志文件夹操作权限:chmod 777 /data/log

      五、修改日志文件夹的宿主为mysql:chown -R mysql:mysql /data/log/mysql

      得到如下目录结构:
     
     
      六、拷贝mysql存储文件夹下所有内容到新目录:cp -rf /var/lib/mysql/* /data/mysql/

      七、修改新目录下文件的权限和宿主:chmod 660 *;chown -R mysql:mysql * 

      --这一步非常关键,就是把copy过去的文件权限进行重新编辑,如果不执行这步操作,很多同学会发现后面的mysql服务是无法启动的,会提示无法打开数据文件,原因因为CentOS系统执行cp,原文件权限和宿主不会被保留。

       得到如下目录结构:
      

       八、修改mysql配置文件:vim /etc/mysql/my/cnf,修改数据库文件以及日志文件的存放路径
      
     
 

     ok,网上很多教程都到此为止,但动手操作的同学会发现,此时启动mysql会报错,主要错误信息是这样的:/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13),这个错误其实就是mysql的数据目录迁移错位。那怎么解决呢?其实,在my.cnf中注释部分说明的很清楚:# * IMPORTANT# If you make changes to these settings and your system uses apparmor, you may# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

     apparmor是linux内核强制访问控制系统,这个非常重要!

 

    九、我们需要进行调整mysql的强制访问目录:vim /etc/apparmor.d/usr.sbin.mysqld
   
     十、记得刷新下,使apparmor配置生效:/etc/init.d/apparmor reload

     十一、此时,重启MySQL服务,service mysqld start

 

 至此你的MySQL的已经更换为你的新路径了!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值