服务器技术

 首页 > 服务器技术 > Linux > CentOS系统Linux如何更改MySQL数据库目录位置

CentOS系统Linux如何更改MySQL数据库目录位置

分享到:
【字体:
导读:
          引言: 由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。 下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/home/mys...

引言: 
由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。 
下面我整理一下把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 #为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。 
================================================================================== 
修改第二个文件:修改之前先备份 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

系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 
至此所有的修改都完成了,下面启动mysql 

service mysqld start

或者重启linux 

reboot

如果能正常启动,说明修改成功。

      上一篇:linux系统vim命令刷新文档 下一篇:linux如何删除什么文件之外的所有文件
    分享到:
    linux系统vim命令刷新文档
    linux系统vim命令刷新文档怎么做? 办法很简单: 命令如下: :e! 其他vi或者vim命令介绍: 可分两种情况: 1、在同一窗口中打开多个文件: vi file1 file2 file3 :n  切换到下一个文件 (n=next) :N  切换到上一个文件 2、在不同窗口中打开多个文件: 如果已经打开一个了一个文件, 则在vi的命令输入状态下输入 :sp 另外...
    linux如何删除什么文件之外的所有文件
    Linux反选删除文件最简单的方法是 # shopt -s extglob      (打开extglob模式) # rm -fr !(file1) 如果是多个要排除的,可以这样: # rm -rf !(file1|file2) linux下除了某个文件外的其他文件全部删除的命令 Linuxrm删除指定文件外的其他文件方法汇总 一、Linux下删除文件和文件夹常用命令如下: 删除文...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……