• 从 MySQL 冷备说起


         MySQL 冷备、也叫离线备份
         
         是最简单:
         ● 备份简单:只要拷贝相关文件即可
         ● 恢复简单:只需把拷贝的文件放在同一个目录即可
         也是最安全:
         ● 获取数据一致性副本的方法中最优的一种
         
         
         那么、该备份哪些文件呢?下面以InnoDB 为例:
         
         
    ① frm 文件
            
            表结构定义文件、不过、视图的定义也在里面
            
          ② 共享表空间文件
            
            缺省是、ibdata1、如果之后调整、记得把之前ibdata1删掉、否则会报错
            受制于 2 个参数:
            ● innodb_data_home_dir

            ● innodb_data_file_path

    mysql> show variables like '%data%';
    +----------------------------+------------------------------------+
    | Variable_name              | Value                              |
    +----------------------------+------------------------------------+
    | character_set_database     | latin1                             |
    | collation_database         | latin1_swedish_ci                  |
    | datadir                    | /home/mysql/mysql/data/            |
    | innodb_data_file_path      | ibdata1:50M;ibdata2:50M:autoextend |
    | innodb_data_home_dir       | /home/mysql/mysql/ibdata           |


         ③ 独立表空间文件(*.ibd)
            
            受制于 2个参数
            ● innodb_file_per_table 
            ● datadir <==这是个全局参数、好像很多文件都和他有染
            
         ④ 重做日志文件
            
            缺省会有 2 个:ib_logfile0 和 ib_logfile1
            被 4 个参数影响:
            ● innodb_log_file_size:日志成员的大小
            ● innodb_log_files_in_group:日志成员的数量
            ● innodb_mirrored_log_groups:日志组的数量
            ● innodb_log_group_home_dir:日志组的路径
            
         ⑤ 配置文件
            
            my.cnf或my.ini
            
         
         友情提醒:
                 ① 如果设立了独立表空间、共享表空间仍然需要备份!因为、
                    独立表空间仅存储数据、索引等信息、其余的依然放在共享表空间
                 
                 ② 如果以上参数都是默认、仅仅只是设置了 datadir 、那么只要备份这个目录下的文件即可
                 
         
         
         在备份中、我们需要注意哪些呢?
         
         ① 不要遗漏任何上面提到的物理文件
         ② 注意磁盘空间的大小
         ③ 将本地的备份镜像一份到远程
         
         
         
         有个小技巧、
         
         如果觉得 关闭服务器来做冷备 代价太大、而且、预热也慢、那么可以、
         kill -19 :发送一个 STOP 信号给 MySQL 、
         然后、做备份
         然后、再 kill -18发送一个 CONT 信号唤醒 MySQL 
         
         
         
         By David Lin 
         2013-06-09 
         Good Luck 

  • 相关阅读:
    Spring Web Flow 简介
    LeetCode:按序打印【1114】
    Java基础教程:多线程基础(5)——倒计时器(CountDownLatch)
    React:快速上手(8)——前后端分离的跨域访问与会话保持
    SpringBoot学习笔记:自定义拦截器
    Java进阶教程:垃圾回收
    SpringMVC:学习笔记(12)——ThreadLocal实现会话共享
    Node.js学习笔记(4):Yarn简明教程
    Docker:学习笔记(1)——核心概念及Ubuntu安装
    Java基础教程:内部类
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3130019.html
Copyright © 2020-2023  润新知