gpt4 book ai didi

mysql - 是否可以使用 mysqldump 或其他任何方式将 "backup"行/表

转载 作者:可可西里 更新时间:2023-11-01 07:50:13 24 4
gpt4 key购买 nike

假设数据库中有一行(几行)或一张表。我可以备份它们,以便在行/表损坏时尽快恢复它们吗?

提前致谢!

最佳答案

我使用以下 perl 脚本来备份我的数据库:

#!/usr/bin/perl
use strict;
use DBI;
my $dbh = DBI->connect( "dbi:mysql:database=;mysql_client_found_rows=0;host=your.database.host", "username", "password", {RaiseError => 1});
my $databases = $dbh->selectcol_arrayref('SHOW databases;');
foreach my $t (@{$databases}) {
system('/usr/local/bin/mysqldump -h your.database.host --add-drop-database --add-drop-table --add-locks --extended-insert=false --databases --allow-keywords -c -e -f -u username --password=password \''.$t.'\' > /path/to/backupfiles/'.$t.'.sql');
print "$t done\n";
sleep(2);
}

mysql-dump 命令是:

/usr/local/bin/mysqldump -h your.database.host --add-drop-database --add-drop-table --add-locks --extended-insert=false --databases --allow-keywords -c -e -f -u username --password=password 'databasename' > /path/to/backupfiles/databasename.sql

结果是整个表的单个插入语句。您必须提取要恢复的行。由于您不知道哪一行会损坏,因此您需要全部。要恢复单行,只需在备份文件中找到它并执行命令即可。

我发现处理包含多个数据库的备份文件非常困难。这就是编写这个小脚本并将每个数据库备份到一个文件中的原因。

您可以轻松更改脚本,在需要时将每个表转储到单个备份文件中。

关于mysql - 是否可以使用 mysqldump 或其他任何方式将 "backup"行/表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com