Linux下更改/转移MySQL数据库目录

日期: 2011-03-02 作者:Yoyo 来源:TechTarget中国 英文

  由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。网上有很多相关的文章写到转移数据库目录的文章,不过大部分都是相互之间转载的,而且转载的过程中还会有一些错误,因为大部分人根本就没测试过,所以错误也就顺便一块转载过来了,下面我简单整理一下这几天把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql下面具体操作。

  首先我们需要关闭MySQL,命令如下:

  #service mysqld stop

  网上有很多人都是用的mysqladmin -u root -p shutdown,不过我这个是系统安装的是kloxo面板,root密码并不知道,虽然可以重置,但是比较麻烦。

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

  #cd /var/lib

  #ls

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

  #cp -a mysql /home/mysql_data/

  这样就把数据库复制到/home/mysql_data下面去了,注意-a这个参数一定要带着,否则复制过去的权限就不对了。如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请看我的上一篇文档。

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

  #vi /etc/my.cnf

  打开之后修改datadir的目录为/home/mysql_data/mysql,把socket改成/home/mysql_data/mysql/mysql.sock,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。

  #vi /etc/init.d/mysqld

  准确的位置是/etc/rc.d/init.d/mysqld,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,所以用上面的命令即可,也简单。这里主要也是修改datadir的目录为/home/mysql_data/mysql

  #vi /usr/bin/mysqld_safe

  这里也是修改datadir的目录

  下面需要建立一个mysql.sock的链接:

  #ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

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

  #service mysqld start

  或者重启linux

  #reboot

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

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Yoyo
Yoyo

相关推荐