设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 1060|回复: 0
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    奋斗
    2017-9-16 13:30
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    跳转到指定楼层
    楼主
    发表于 2014-8-22 18:44:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    由于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
    如果能正常启动,那基本上就没什么问题了。


    来源:yoyo blog

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|中国U网    

    GMT+8, 2024-5-4 07:52 , Processed in 0.077410 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表