记一次生产数据库数据文件进行分区转移

由于之前同事没有对磁盘分区做规划,可以看到数据和系统是在同个分区的,没有单独规划一个数据分区给数据库,还有个分区是640G没有用上。下面简单介绍一下mysql数据库数据文件的转移过程。

1. 新建数据分区

篇幅需要,以下从简。。。

# fdisk /dev/sdb 
n->p->1->Enter->Enter->w 
#创建物理卷 
#pvcreate /dev/sdb1 
#创建逻辑卷 
#vgcreate datavg /dev/sdb1 
#lvcreate -n lv_data -L +200G datavg 
#格式化磁盘 
# mkfs.ext4 /dev/datavg/lv_data 
#挂载 
# vim /etc/fstab  
/dev/datavg/lv_data /tmsdata ext4 defaults 0 0 
# mount -a 

2. mysql数据库数据转移

之前的数据文件和日志都在/data目录下,目前需转移到新数据目录/tmsdata

(1) 停止数据库服务

systemctl stop mysqld 
systemctl status mysqld  
#把缓存写到数据文件,多做几次总不会错 
sync 
sync 

(2) 转移数据文件和日志

cp -rf /data/* /tmsdata/ 
chmod -R 755 /tmsdata 
chown -R mysql:mysql /tmsdata/ 

(3) 修改my.cnf配置

# vim /etc/my.cnf 
[mysqld] 
datadir=/tmsdata/datafile 
log-error=/tmsdata/log/mysqld.log 
#注意二进制日志也要改 
log-bin = /tmsdata/log/mysql-bin.log 
log-bin-index =/tmsdata/log/binlog.index 

3. 启动mysql服务并验证

如果有主从服务最好在停数据库服务时先设置数据库只读,后面从库开启后再开启读写~

# vim /etc/my.cnf 
[mysqld] 
datadir=/tmsdata/datafile 
log-error=/tmsdata/log/mysqld.log 
#注意二进制日志也要改 
log-bin = /tmsdata/log/mysql-bin.log 
log-bin-index =/tmsdata/log/binlog.index 

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章