mysql数据库数据迁移,修改数据库存放目录的方法整理
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)