有没有可能;备份";带有mysqldump或其他内容的行/表

有没有可能;备份";带有mysqldump或其他内容的行/表,mysql,database,backup,mysqldump,Mysql,Database,Backup,Mysqldump,假设数据库中有一行(几行)或表。我可以备份它们,以便在行/表损坏时尽快恢复它们 提前谢谢你 备份一个表 mysqldump -u -p mydatabase table1 > table1.sql 或者为特定行添加选项 从备份中恢复 mysql -u -p mydatabase < table1.sql mysql-u-pmydatabase/path/to/backupfiles/databasename.sql 结果是整个表的单insert语句。您必须提取要恢复的行。因为您不

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

提前谢谢你

备份一个表

mysqldump -u -p mydatabase table1 > table1.sql
或者为特定行添加选项

从备份中恢复

mysql -u -p mydatabase < table1.sql
mysql-u-pmydatabase
我使用以下perl脚本备份数据库:

mysql dump命令是:

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

结果是整个表的单insert语句。您必须提取要恢复的行。因为您不知道哪一行会被损坏,所以您需要全部损坏。要恢复一行,只需在备份文件中找到它并执行命令

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


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

如果您想通过GUI执行此操作,可以使用PhpMyAdmin构建
选择
,然后使用“导出此查询”功能-这将以各种格式提供查询,包括SQL(需要恢复时可以直接执行)

#!/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);
}