Centos mysql数据库存放位置更换

由于MysqL数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。@H_301_1@

下面我简单整理一下这几天把MysqL从/var/lib/MysqL目录下面转移到/home/MysqL_data/MysqL下面具体操作@H_301_1@

1、首先我们需要关闭MysqL,命令如下:@H_301_1@

service MysqLd stop@H_301_1@

2、然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到MysqL的原目录@H_301_1@

cd /var/lib
ls@H_301_1@

运行这个命令之后就会看到MysqL的目录了,然后执行cp命令@H_301_1@

cp -a MysqL /home/MysqL_data/@H_301_1@

这样就把数据库复制到/home/MysqL_data下面去了@H_301_1@

注意:(-a这个参数一定要带着,否则复制过去的权限就不对了。)
如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。@H_301_1@

3、然后我们修改配置文件,一共有三个,下面我一一说明:@H_301_1@

修改第一个文件修改之前先备份cp /etc/my.cnf /etc/my.cnfbak@H_301_1@

vi /etc/my.cnf@H_301_1@

打开之后修改datadir的目录为/home/MysqL_data/MysqL,@H_301_1@

把socket改成/home/MysqL_data/MysqL/MysqL.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。@H_301_1@

修改第二个文件修改之前先备份 cp /etc/init.d/MysqLd /etc/init.d/MysqLdbak@H_301_1@

vi /etc/init.d/MysqLd@H_301_1@

注意:准确的位置是/etc/rc.d/init.d/MysqLd,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,所以用上面的命令即可,也简单。@H_301_1@

把其中datadir/var/lib/MysqL一行中,等号右边的路径改成你现在的实际存放路径:/home/MysqL_data/MysqL@H_301_1@

修改第三个文件修改之前先备份 cp /usr/bin/MysqLd_safe /usr/bin/MysqLd_safebak@H_301_1@

vi /usr/bin/MysqLd_safe@H_301_1@

这里也是修改datadir的目录为/home/MysqL_data/MysqL@H_301_1@

4、下面需要建立一个MysqL.sock的链接@H_301_1@

ln -s /home/MysqL_data/MysqL/MysqL.sock /var/lib/MysqL/MysqL.sock@H_301_1@

至此所有的修改都完成了,下面启动MysqL@H_301_1@

service MysqLd start@H_301_1@

或者重启linux@H_301_1@

reboot@H_301_1@

如果能正常启动,那基本上就没什么问题了。@H_301_1@

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...