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

发表于:2019-11-22 11:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:波波说运维

  由于之前同事没有对磁盘分区做规划,可以看到数据和系统是在同个分区的,没有单独规划一个数据分区给数据库,还有个分区是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
  

     本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号