linux mysql数据目录迁移


版本:centos:6.5 64位 mysql:5.6

先说下mysql目录结构

centos6.5下安装mysql5.6后 mysql的默认结构为

配置文件:/etc/my.cnf

然后my.cnf中会列出几个默认的目录:

数据目录 : datadir=/var/lib/mysql

日志文件:log-error=/var/log/mysqld.log

进程id文件:pid-file=/var/run/mysqld/mysqld.pid

目录迁移过程

假如要迁移到的目录为:/data/mysql

首先停止mysql,service mysqld stop 或者/etc/init.d/mysqld stop

移动数据目录:

mv /var/lib/mysql /data/

查看新的data目录是不是都是mysql用户组下的:

ll /data/mysql


确认无误后,启动mysql:

/etc/init.d start

这时候可启动不成功,查看日志/var/log/mysqld.log 会发现下面字样:

2015-06-08 11:11:11 0 [Note] /usr/sbin/mysqld (mysqld 5.6.24) starting as process 4839 ...

2015-06-08 11:11:11 4839 [Warning] Can't create test file /data/mysql/dataengine3.lower-test

2015-06-08 11:11:11 4839 [Warning] Can't create test file /data/mysql/dataengine3.lower-test

/usr/sbin/mysqld: Can't change dir to '/data/mysql/' (Errcode: 13 - Permission denied)

2015-06-08 11:11:11 4839 [ERROR] Aborting

2015-06-08 11:11:11 4839 [Note] Binlog end

2015-06-08 11:11:11 4839 [Note] /usr/sbin/mysqld: Shutdown complete



这个时候如果确保mysql的data目录已经在mysql用户组下,那么可能是selinux的问题。解决方法为:

1,临时关闭selinux:

setenforce 0

2,修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。


迁移目录的时候也可以不更改配置文件,而只是将数据目录迁移出来,然后将原有的以软链接形式连接到新的数据目录。不知道可不可以解决selinux权限的问题。回头可以试试


点击去我的个人站点查看全文

更多文章,欢迎关注俺的微信订阅号,每天一篇小笔记,每天提高一点点:

公众号:enilu123


猜你喜欢

转载自blog.csdn.net/mooyinn/article/details/46494817