【发布时间】:2012-02-01 10:32:53
【问题描述】:
我知道我可以使用 MySql 的命令BACKUP 和RESTORE 来备份数据库并在需要时回滚。
我的问题是,我可以这样执行吗:
sql="BACKUP my_db TO DISK my_backup_folder WITH FORMAT #";
if ($stmt = $this->connect->prepare($sql)) {
$stmt->execute();
$stmt->close();
} else {
$error = true;
$message['error'] = true;
$message['message'] = CANNOT_PREPARE_DATABASE_CONNECTION_MESSAGE;
return json_encode($message);
}
以同样的方式进行修复:
sql="RESTORE DATABASE my_db FROM DISK my_backup_folder WITH FILE #";
if ($stmt = $this->connect->prepare($sql)) {
$stmt->execute();
$stmt->close();
} else {
$error = true;
$message['error'] = true;
$message['message'] = CANNOT_PREPARE_DATABASE_CONNECTION_MESSAGE;
return json_encode($message);
}
在每种情况下,# 代表什么,是 .bak 吗?除了里面的东西,我还有什么需要补充的吗?
【问题讨论】:
-
有没有引入
BACKUP和RESTORE命令? -
根据我的回答和@Mchl 的评论,这些是不推荐使用的命令,可能不是为 MySQL 准备实用备份系统的最佳方法。