我需要知道这是否是正确的方法(备份时不会丢失写入的数据)来备份二进制文件?
1
LOCK TABLES
tbl_0 READ,
tbl_1 READ,
tbl_2 READ
FLUSH TABLES WITH READ LOCK
2。
copy *.frm, *.myd, *.myi files
3。
UNLOCK TABLES
答案 0 :(得分:3)
这样做是不够的。
最好是完全关闭数据库,并复制数据目录的全部内容。
或者,您可以让数据库保持运行并获取原子文件系统快照。
如果您确定只使用MyISAM表(并且InnoDB在您的系统中完全禁用,就像其他引擎一样),您可能会在使用“FLUSH TABLES WITH READ LOCK”的全局锁定下进行转储。这确实会对系统产生影响,但并不像关机一样糟糕。
请注意,如果您有任何InnoDB表 - 任何表,存在于服务器中的任何位置 - 那么您就不能以这种方式进行备份。 “使用READ LOCK的FLUSH表格”不足以备份innodb。