把mysql移到其他盘(mysql 数据库文件迁移)

概述

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

把mysql移到其他盘(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

把mysql移到其他盘(mysql 数据库文件迁移)

把mysql移到其他盘(mysql 数据库文件迁移)

把mysql移到其他盘(mysql 数据库文件迁移)


2、mysql数据库数据转移

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

2.1、停止数据库服务

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

把mysql移到其他盘(mysql 数据库文件迁移)

2.2、转移数据文件和日志

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

把mysql移到其他盘(mysql 数据库文件迁移)

2.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

把mysql移到其他盘(mysql 数据库文件迁移)


3、启动mysql服务并验证

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

systemctl start mysqld
systemctl status mysqld

把mysql移到其他盘(mysql 数据库文件迁移)


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论