迭代多个MySQL表,从每个表中导出1个表

时间:2009-09-18 13:07:44

标签: sql mysql

我有大约150个MySQL数据库,我需要从每个数据库中导出1个表。

这是可能的,每个数据库的用户名和密码都相同。

4 个答案:

答案 0 :(得分:4)

我确信有一种更紧凑的方法可以做到这一点,但这应该有效。

#!/bin/bash

mysql -B -e "show databases" | egrep -v "Database|information_schema" | while read db; 
do 
  echo "$db"; 
  mysqldump $db TableName > $db.sql
done

根据您的连接信息,您可能需要调整mysqlmysqldump来电。

答案 1 :(得分:2)

我认为在这种情况下,迭代会更合适(而不是递归)。

答案 2 :(得分:1)

如果您使用的是Linux,我建议编写一个简单的bash脚本来循环150个DB URL并在每个URL上调用mysqldump。

答案 3 :(得分:0)

请参阅link text,它会为所有数据库和所有表生成元数据,您可以调整它以便为您导出数据。然而,这是在PHP中,我不确定您希望使用的语言..