我有大约150个MySQL数据库,我需要从每个数据库中导出1个表。
这是可能的,每个数据库的用户名和密码都相同。
答案 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
根据您的连接信息,您可能需要调整mysql
和mysqldump
来电。
答案 1 :(得分:2)
我认为在这种情况下,迭代会更合适(而不是递归)。
答案 2 :(得分:1)
如果您使用的是Linux,我建议编写一个简单的bash脚本来循环150个DB URL并在每个URL上调用mysqldump。
答案 3 :(得分:0)
请参阅link text,它会为所有数据库和所有表生成元数据,您可以调整它以便为您导出数据。然而,这是在PHP中,我不确定您希望使用的语言..