技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录注册

下次自动登录
jdbxn168老虎机官网
现在的位置: 首页MySQL>正文
CentOS Linux更改MySQL数据库目录位置
2011年11月02日 MySQL 暂无评论 ⁄ 被围观 12,710次+


引言:
由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。
下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作:
系统运维? jdbxn168老虎机官网? 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
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????? #为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
==================================================================================
?? 修改第二个文件:修改之前先备份 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
?? 系统运维? jdbxn168老虎机官网? 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接

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

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流?Ⅱ ③203744115 系统运维技术交流?Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!

?

Copyright© 2011-2017 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接