欢迎来到Introzo百科
Introzo百科
当前位置:网站首页 > 技术 > 记一次生产数据库数据文件进行分区转移

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

日期:2023-09-28 07:13

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

关灯