当前位置: 首页 > news >正文

【MySQL】数据目录迁移

一、使用场景

        使用该方法一般是数据目录所在磁盘不支持扩展,只能通过新加磁盘来扩展数据目录磁盘空间。通常是Windows服务器,或者是Linux服务器的mysql数据目录的磁盘没有使用lvm。

二、准备工作

        1. 新磁盘初始化,达到可使用状态

        2. 需要自己预估时间,迁移期间需要停止mysql服务,停服的时间在于数据量的大小,主要在拷贝文件上

        3. 梳理关联的业务系统

        4. 告知你的用户,要停服务了,就可以开始操作了。

三、迁移工作

         1. 停止MySQL服务

                windows服务器:打开【服务】,找到mysql的服务,右键停止。

                Linux服务器:

二选一:
mysqladmin 直接与 MySQL 服务器通信并请求关闭,而 systemctl 则是通过操作系统层面来停止服务。1.通过 MySQL 的 mysqladmin 工具停止服务mysqladmin -uroot -p shutdown 2.通过 systemd 系统和服务管理器来停止 MySQL 服务rhel/centos 7命令systemctl start mysqldrhel/centos 6命令service mysqld start

        2. 修改配置文件

      【非常重要】

                1. 修改配置前,将原配置复制一份副本作备份。

                2. 确认mysql的配置文件:通过mysql查询得到datadir的值与配置中datadir值相同,则说明这个配置文件就是这个mysql的。

        查询mysql的datadir参数:

 sql> show variables like 'datadir';

     关于配置文件的位置,Linux一般是/mec/my.cnf或mysql程序文件目录下;Windows一般在mysql程序文件目录下的my.ini。

修改datadir参数,改成新磁盘位置,例如:

[mysqld]......#mysql数据目录
datadir=D:/mydata/data

        3. 迁移数据目录文件

Windows:用复制粘贴迁移,将数据目录下所有文件复制到新磁盘。Linux:cp -r 旧的数据文件目录 新的数据文件目录例如:cp -r /mydata/data /myNewData/data

        4. 启动MySQL

Windows还是通过“服务”来启动Linux:centos7/rhel7systemctl start mysqldcentos7/rhel6service mysqld start

        5. 确认datadir是否是新位置

sql> show variables like 'datadir';

        6. 验证你自己的业务系统

        7. 清理原数据目录文件【非必要】

数据目录迁移后确认mysql和业务系统正常后,可以清理原数据目录的数据释放磁盘空间,当然怕出问题,保一手也可以先留一段时间。

四、回退方案

        如果迁移后,mysql或业务系统出现故障不可用,需要快速进行回退。则:

                1. 将备份的mysql配置文件退换现在的配置文件。

                2. 启动mysql完成回退。

相关文章:

  • 前端 vue3 对接科大讯飞的语音在线合成API
  • 详细指南:如何有效解决Windows系统中msvcp140.dll丢失的解决方法
  • 【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU
  • spark计算引擎-架构和应用
  • git 基本原理
  • 【项目开发】跨专业合作平台实战(附源码)
  • 初学51单片机之I2C总线与E2PROM二
  • c语言基础作业
  • YOLO11关键改进与网络结构图
  • mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
  • 负载均衡--会话保持失败原因及解决方案(五)
  • Python:lambda 函数详解 以及使用
  • JMeter 性能测试基本过程及示例
  • 【测试】混沌工程
  • 国产RISC-V案例分享,基于全志T113-i异构多核平台!
  • 【node学习】协程
  • conda常用的命令
  • Effective Java 笔记(一)
  • egg(89)--egg之redis的发布和订阅
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript-Array类型
  • JWT究竟是什么呢?
  • linux安装openssl、swoole等扩展的具体步骤
  • MySQL QA
  • node 版本过低
  • PAT A1017 优先队列
  • rc-form之最单纯情况
  • vue数据传递--我有特殊的实现技巧
  • 闭包--闭包作用之保存(一)
  • 基于游标的分页接口实现
  • 两列自适应布局方案整理
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • Hibernate主键生成策略及选择
  • zabbix3.2监控linux磁盘IO
  • 通过调用文摘列表API获取文摘
  • ​批处理文件中的errorlevel用法
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (1)Nginx简介和安装教程
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Java入门)抽象类,接口,内部类
  • (python)数据结构---字典
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (回溯) LeetCode 131. 分割回文串
  • (回溯) LeetCode 40. 组合总和II
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十三)Flink SQL
  • (四)js前端开发中设计模式之工厂方法模式
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)http-server应用
  • (转)我也是一只IT小小鸟
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .apk文件,IIS不支持下载解决
  • .NET Remoting学习笔记(三)信道