Mysql 数据库存储位置迁移 时间: 2018-11-24 10:00 分类: mysql,数据库 很多时候,安装`Mysql`的时候没有考虑到服务器的磁盘空间问题,把`Mysql`安装到了任意位置,然后使用到某天发现数据库连不上了,报错`No space left on device`。很明显,这是服务器磁盘不够了,如果这是由于`Mysql`的数据文件存储路径的空间不够了,那么可以将`Mysql`的数据迁移到其他位置去,如果是整个服务器的磁盘满了,那就只能删掉一些无用文件或者升级服务器硬盘了。 下面来介绍下如何迁移`Mysql`的数据文件。 首先查看`Mysql`的数据文件存储位置,`vim my.cnf`可以查看得到,如果`my.cnf`配置文件中没有配置,那么就用以下`sql`命令查看: ``` show variables like 'datadir'; ``` 我这里是`/data/mysql/mysql3306/`。 接下来就是复制或者移动该目录下的数据库文件了,我这里把它迁移到`/home`目录下去,首先新建数据库文件目录: ``` # mkdir /home/mysql_data ``` 然后复制文件: ``` # cp /data/mysql/mysql3306/* /home/mysql_data ``` 数据文件比较大的话可能时间会比较长,耐心等待。 数据迁移完了然后修改数据库存储目录的权限: ``` # chown mysql:mysql -R /home/mysql_data ``` 如果不进行如上的修改,在重启`Mysql`的时候会报下面的错误: ``` Starting MySQL. ERROR! The server quit without updating PID file (/var/mysql/mysql3306/info/mysqld.pid). ``` 上面修改完了权限下面还要修改`my.cnf`、`/etc/init.d/mysqld(我这里里面没有配置,所以可以不改)`中的存储路径: ``` datadir=/home/mysql_data ``` 重启`Mysql`(我这里是CentOS): ``` # service mysqld restart ``` 标签: mysql