从MySQL冷备说起 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    从MySQL冷备说起

    MySQL 冷备、也叫离线备份

    是最简单:

    ● 备份简单:只要拷贝相关文件即可

    ● 恢复简单:只需把拷贝的文件放在同一个目录即可

    也是最安全:

    ● 获取数据一致性副本的方法中最优的一种

    那么、该备份哪些文件呢?下面以InnoDB 为例:

    ① frm 文件

    表结构定义文件、不过、视图的定义也在里面

    ② 共享表空间文件

    缺省是、ibdata1、如果之后调整、记得把之前ibdata1删掉、否则会报错

    受制于 2 个参数:

    ● innodb_data_home_dir

    ● innodb_data_file_path

    [plain]

    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

最新文章