gpt4 book ai didi

php - 创建MySql数据库备份/回滚

转载 作者:行者123 更新时间:2023-11-29 14:35:54 28 4
gpt4 key购买 nike

我了解我可以使用 MySql 的命令 BACKUPRESTORE 来备份数据库并在需要时回滚。

我的问题是,我是否能够以这种方式执行它:

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 吗?除了里面的内容之外,还有什么我应该添加的吗?

最佳答案

命令行上的快速峰值显示这些是已弃用的命令。

mysql> help backup; Name: 'BACKUP TABLE' Description: Syntax: BACKUP TABLE tbl_name [, tbl_name] ... TO '/path/to/backup/directory'

*Note*: This statement is deprecated and is removed in MySQL 5.5. As an alternative, mysqldump or mysqlhotcopy can be used instead.

我想说,任何有关如何使用已弃用命令的建议都有点用词不当。在 mysqldump 处达到峰值。还有其他选项,例如 LVM snapshots等等

关于php - 创建MySql数据库备份/回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9060825/

28 4 0