从 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值