您的位置:首页 > 运维架构 > Linux

linux环境下迁移mysql的data文件夹路径

2016-04-18 11:40 881 查看
转载路径:http://jingyan.baidu.com/article/d7130635006f2c13fcf47577.html

MySQL默认的数据文件存储目录为/var/lib/mysql(在Navicat下运行命令查看:show variables like '%datadir%';);

有些时候由于业务量增大导致存储空间不足,我们修改MySQL的目录。


工具/原料

MySQL


方法/步骤

1

1、

创建你要转移到的新目录

cd /mnt

mkdir mysql

2、

修改文件夹的宿主为MySQL chown -R mysql:mysql /mnt/mysql

3、

停止MySQL的服务 service mysql stop 或者 /etc/init.d/mysqld stop

4、

拷贝MySQ的文件夹到新目录 cp -rf /var/lib/mysql/* /mnt/mysql/

5、

修改MySQ的配置文件,vi /etc/my.cnf 按如图所示修改为新路径,如果你的配置文件里没有这两行,手动添加到[mysqld]下方

[mysqld]

datadir=/mnt/mysql

socket=/mnt/mysql/mysql.socket

6、

修改启动文件 vi /etc/init.d/mysqld 将datadir后面修改为你的新路径

get mysql_potion_mysqld datadir"/mnt/mysql"

7、

此时,重启MySQL服务,service mysqld start 或者 /etc/init.d/mysqld start,至此你的MySQL的已经更换为你的新路径了。

注意事项

更换目录后,你的MySQL如果无法正常启动,请具体参照/var/log/mysqld.log日志进行排查

可能出现的问题:

120609 11:31:31 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

120609 11:35:12 mysqld_safe Starting mysqld daemon with databases from /mnt/hgfs/mysql_data

120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test

120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test

/usr/libexec/mysqld: Can't change dir to '/mnt/hgfs/mysql_data/' (Errcode: 13)

120609 11:35:13 [ERROR] Aborting

120609 11:35:13 [Note] /usr/libexec/mysqld: Shutdown complete

120609 11:35:13 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

问题原因:

selinux的原因,设置为permissive模式之后正常启动mysqld。

[root@data selinux]# getenforce

Enforcing

[root@data selinux]# setenforce 0

[root@data selinux]# getenforce

Permissive

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: