mysql数据库数据迁移,修改数据库存放目录的方法整理

蛰伏已久 蛰伏已久 2019-05-28

mysql默认存放在系统盘,占据系统盘容量,所以想将其转移到数据盘。

1 查看数据库存放目录

通过查看my.cnf找到数据库文件的存放目录datadir以及socket目录

vim /etc/my.cnf

#内容如下
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

2 停止mysql服务

service mysqld stop

3 复制数据库存放目录下文件至数据盘,将目录权限赋给mysql用户

cd /data #我的数据盘在/data下
mkdir mysql_data  #新建一个文件夹

cp /var/lib/mysql/.  /data/mysql_data  #将mysql下所有文件,复制到新目录下,建议采取复制命令cp,这样失败了原文件还在

chown -R mysql.mysql /data/mysql_data  #将新建目录权限赋给mysql用户

4 修改my.cnf

vim /etc/my.cnf

#将目录改成新的目录
datadir=/data/mysql_data
socket=/data/mysql_data/mysql.sock

5 socket目录更改之后,还需要再php.ini中修改socket目录地址,如果你的不是采取php请忽略

vim ./etc/php.ini

#把socket目录修改为新的目录 

mysql.default_socket = /data/mysql_data/mysql.sock

mysqli.default_socket = /data/mysql_data/mysql.sock

pdo_mysql.default_socket= /data/mysql_data/mysql.sock

6 重启服务

 /etc/init.d/php-fpm restart     #重启php
 service mysqld restart  #重启mysql


注:mysql通过两种方式连接,一种是socket连接,一种是tcp/ip连接;socket连接时host为localhost,tcp/ip连接时host为ip地址,如果程序和数据库在一个服务器,可以采取socket方式连接,这样不经过网卡,速度更快。

分享到

点赞(0)