由于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
如果能正常启动,那基本上就没什么问题了。
====================================================
上述为转载,仅供参考!
一下为本人操作:
由于mysql.sock在tmp目录下,只需要找到数据库文件在哪儿;如我的数据库文件在/var/lib/mysql下;
新建新的数据库文件目录,如/data2/mysql_data/mysql.并复制原来的数据库文件到新的目录,方法如上所述。
由于mysql.sock在单独的目录下,我只需要修改系统启动执行的mysqld的datadir即可,默认为空;即修改成新的目录,如datadir=/data2/mysql_data/mysql,其他如basedir不变。
分享到:
相关推荐
在Linux(例如CentOS)系统中,MySQL数据库的默认存储位置是`/var/lib/mysql`。当数据库文件增长过快,占用空间超出 `/var` 盘的容量时,就需要迁移MySQL的数据目录。以下是一个详细步骤,指导如何将MySQL的数据目录...
### Linux CentOS离线安装 MySQL Glibc 版/解压版详解 #### 一、环境准备与检查 在开始安装 MySQL 之前,确保你的 CentOS 系统满足以下条件: 1. **确定系统架构**:首先确认你的 CentOS 系统是 32 位还是 64 位...
在本教程中,我们将详细介绍如何在 CentOS Linux release 7.9.2009 上安装 MySQL 5.7.37。首先,我们要确保系统中没有预装的 MariaDB 或其他 MySQL 版本,因为它们可能与新安装的 MySQL 冲突。 1. 卸载预装的 ...
在Linux环境下进行Java应用开发和部署,通常需要安装Java开发工具包(JDK)、Web服务器(TOMCAT)以及数据库管理系统(MYSQL)。以下是针对这些组件在Linux系统中安装和配置的详细步骤。 ### 1. 安装JDK #### 1.1 卸载...
本文档旨在提供一份详细的CentOS 6.8环境下MySQL数据库5.6.14版本的源码安装指南。相较于传统的RPM包安装方式,从源码安装可以更加灵活地定制安装选项,同时也能获得更高的性能优化。 #### 卸载旧版本 在开始安装新...
2. **修改MySQL数据库文件目录的所有者和组**: - `chown -R mysql:mysql /data/mysqldb` #### 七、初始化MySQL数据库 初始化MySQL数据库是安装过程中的一个重要环节,它会在数据目录中生成必须的数据文件。 1. ...
在 CentOS 操作系统中安装和配置 MySQL 数据库是一项基础但至关重要的任务,因为 MySQL 是一个广泛应用的关系型数据库管理系统,广泛用于存储和管理各种类型的数据。本文将详细阐述如何在 CentOS 环境下进行 MySQL ...
在MySQL数据库系统中,Binary Log(简称Binlog)是一种重要的日志记录机制,主要用于数据恢复、主从复制等场景。本篇文章将详细讲解如何在Linux/CentOS环境下启用MySQL的Binlog日志,并利用这些日志来恢复数据。 ...
在Linux系统中,尤其是CentOS,当MySQL数据库的大小超出默认安装目录的存储能力时,就需要将数据库目录迁移到更大的磁盘空间。本教程将详细阐述如何将MySQL的数据目录从/var/lib/mysql移动到/home/mysql_data/mysql...
本文将详细介绍如何启动、停止和重启MySQL数据库,这些操作适用于大多数基于Linux发行版的系统,包括但不限于Red Hat、CentOS、Ubuntu等。 首先,我们需要确认MySQL的安装版本。查看MySQL版本有以下两种方法: ...
在Linux系统中,特别是CentOS发行版中,MySQL作为一款广泛使用的开源数据库管理系统,在服务器应用中扮演着重要的角色。本文将详细介绍CentOS环境下MySQL服务的启动与关闭方法,并对相关命令进行深入解析。 #### 一...
- **日志位置**:MySQL数据库的日志通常存储在`/var/log/mysql`目录下。 - **数据文件存放位置**:数据库文件位于`/var/lib/mysql`目录。 - **主配置文件**:MySQL的主要配置文件是`/etc/my.cnf`,用于设置MySQL...
3. **初始化数据库**:使用`mysql_install_db`工具初始化MySQL数据库。 - 命令示例:`/usr/local/mysql/bin/mysql_install_db` 4. **检查初始化结果**:初始化完成后,可以检查`/usr/local/mysql/var`目录下的初始...
在Linux环境下进行MySQL数据库编程是一项基础且至关重要的技能,尤其对于系统管理员和开发人员来说。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),它以其高效、可靠和易用性而受到广泛赞誉。本讲义将围绕...
在Linux系统(特别是CentOS)上部署MySQL数据库时,有时需要更改MySQL的数据存储位置。这一操作通常是为了更好地管理磁盘空间或者将数据库文件放置到性能更优的磁盘分区上。本文档将详细介绍如何在CentOS系统中将...