CentOS Linux更改MySQL数据库目录位置具体操作

由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录,本文整理了一些MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作,感兴趣的你可不要走开啊

下面我整理一下把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/ #这样就把数据库复制到/home/mysql_data下面去了

注意:(-a这个参数一定要带着,否则复制过去的权限就不对了。)

如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。


3、然后我们修改配置文件,一共有三个,下面我一一说明:
修改第一个文件:修改之前先备份cp /etc/my.cnf /etc/my.cnfbak
vi /etc/my.cnf
打开之后修改datadir的目录为/home/mysql_data/mysql
把socket改成/home/mysql_data/mysql/mysql.sock #为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。 

如没有datadir,则在[mysqld]后面添加

[mysqld]
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
=========================================================


4、下面需要建立一个mysql.sock的链接:
ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

至此所有的修改都完成了,下面启动mysql
service mysqld start
或者重启linux
reboot
如果能正常启动,说明修改成功。

 


详细出处参考:http://www.jb51.net/article/33578.htm

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值