引言:
由于MysqL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。下面我简单整理一下这几天把MysqL从/var/lib/MysqL目录下面转移到/home/MysqL_data/MysqL下面具体操作
1、首先我们需要关闭MysqL,命令如下:
service MysqLd stop
2、然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到MysqL的原目录
cd /var/lib
ls
运行这个命令之后就会看到MysqL的目录了,然后执行cp命令
cp -a MysqL /home/MysqL_data/
注:如果 要更改日志文件也可以用cp -a /var/log/MysqLd.log 目标路径
这样就把数据库复制到/home/MysqL_data下面去了
注意:(-a这个参数一定要带着,否则复制过去的权限就不对了。)
如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。
3、然后我们修改配置文件,一共有三个,下面我一一说明:
修改第一个文件:修改之前先备份cp /etc/my.cnf /etc/my.cnfbakvi /etc/my.cnf
打开之后修改datadir的目录为/home/MysqL_data/MysqL,
把socket改成/home/MysqL_data/MysqL/MysqL.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
修改第二个文件:修改之前先备份 cp /etc/init.d/MysqLd /etc/init.d/MysqLdbak
vi /etc/init.d/MysqLd
注意:准确的位置是/etc/rc.d/init.d/MysqLd,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,
所以用上面的命令即可,也简单。
**把其中datadir=/var/lib/MysqL一行中,等号右边的路径改成你现在的实际存放路径:/home/MysqL_data/MysqL
修改第三个文件:修改之前先备份 cp /usr/bin/MysqLd_safe /usr/bin/MysqLd_safebak
vi /usr/bin/MysqLd_safe
**这里也是修改datadir的目录为/home/MysqL_data/MysqL