有很多关于如何从数据库表中的 mysqldump 中的最后 'n' 行的文章。例如 mysqldump --user=superman --password=batman --host=gothamcity.rds.com --where="1=1 ORDER BY id DESC LIMIT 10"DB_NAME TABLE_NAME ./path/to/dump/file.sql
从这些答案中找到 StackOverflow和 ServerFault
但是,我如何告诉 mysqldump 导出数据库中每个表的最后“n”行
最佳答案
这是我在终端中所做的。这个想法基本上是获取所有表名的列表,然后将该表名列表通过管道传输到 bash 中的 while 循环中,其中每个表都被单独转储到单独的转储文件(由表名命名)中。
mysql --user=superman --password=batman --host=gothamcity.rds.com --port=3306 --database=jokersDB --execute="show tables"--silent --batch |同时读取表名;做 mysqldump --user=superman --password=batman --host=gothamcity.rds.com --port=3306 --where="1=1 ORDER BY id DESC LIMIT 10"jokersDB $tablename --add-drop-表 > $表名.sql ;完成
成功了。唯一的问题是,它将每个表转储到它自己的单独 SQL 文件中——并非所有表都转储到一个文件中。但我想这些单独文件的内容也可以通过其他一些 bash 命令合并到一个文件中。
关于mysql - 如何 mysqldump 数据库中每个表的最后 10 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33756742/