linux环境下通过软链接变更mysql数据存储路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux环境下通过软链接变更mysql数据存储路径相关的知识,希望对你有一定的参考价值。
参考技术A 想要改变mysql数据存储路径的想法最初是在生产服务器上mysql的数据放到了系统盘上,导致系统盘满额,没有足够的内存交换空间而死机。
将mysql数据存储到其他目录下有两种方法,方法一修改my.cnf配置文件,不过经过笔者通过网上的配置资料尝试总是不成功,环境是在centos7下操作的。后来想到一个简单的方法,通过linux的软链接将实际数据放到另外的目录里面就可以了。
操作系统是centos7
mysql是通过二进制包里面的rpm方式安装的。相当于全自动了。
先关闭mysql
默认情况下,rpm安装好的mysql会将数据放置在 /var/lib/mysql 目录当中,我们像将数据迁移到/mnt/data目录当中在terminal当中输入:
mv命令会直接将 /var/lib/mysql 文件夹直接剪切到 /mnt/data 目录当中。
这时我们需要回到/var/lib目录当中,
在这个目录当中建立软链接。
软链接相当于windows里面创建目录快捷方式是一样的,这个时候你应该可以看到mysql文件夹回到了 /var/lib 目录当中,要进去查看一下mysql的路径是否和my.cnf一致。
这时候我们再启动mysql
以上我们就将数据迁移到其他目录下,并且还没有修改和变更my.cnf文件。
Linux硬链接和软链接
1.硬链接:文件别名
通过前面讲的Linux ext2文件系统,我们知道在目录文件的block中,存放着目录下文件的文件名和对应的inode。
可以将多个文件名对应到同一个inode,
新建一条文件名链接到某inode号,这就是硬链接。
可以看出,硬链接只是新建了一个文件名,关联到一个已存在的文件。
此时,目录下的block多写了一个文件名/inode的数据
所以,硬链接没有增加inode和block的耗用。
2.软链接:类似windows中的快捷方式
软链接的实质是,创建了一个独立的文件,而读取这个文件时,会指向它链接的那个文件的文件名。类似于重定向的功能。
软链接新建了文件,所以是要耗用inode和block的。
3.硬链接和软链接的比较
1)硬链接比较安全,多个文件名对应一个inode时,若删除文件,只要还有其他的文件名对应着这个inode文件,文件就不会删除,
此时,只是将文件的连接数减1,当连接数为0时,文件真正删除。
硬链接不会耗用inode和block
硬链接不能链接到目录。
2)软链接
软链接比较灵活,可以链接到文件和目录。
但是会耗用inode和block,不过这点空间不算什么。
若目标文件删除,则读取链接文件会失败。
以上是关于linux环境下通过软链接变更mysql数据存储路径的主要内容,如果未能解决你的问题,请参考以下文章