Итерация по нескольким таблицам MySQL, экспорт 1 таблицы из каждой - PullRequest
2 голосов
/ 18 сентября 2009

У меня около 150 баз данных MySQL, мне нужно экспортировать по 1 таблице из каждой базы данных.

Если это возможно, имя пользователя и пароль идентичны для каждой БД.

Ответы [ 4 ]

4 голосов
/ 18 сентября 2009

Я уверен, что есть более компактный способ сделать это, но это должно сработать.

#!/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 в зависимости от информации о вашем соединении.

2 голосов
/ 18 сентября 2009

Я думаю, что в этом случае итерация была бы более подходящей (а не рекурсия).

1 голос
/ 18 сентября 2009

Если вы работаете в Linux, я бы предложил написать простой bash-скрипт, который циклически обрабатывает URL-адреса 150 БД и вызывает mysqldump для каждого.

0 голосов
/ 18 сентября 2009

См. текст ссылки , он генерирует метаданные для всех баз данных и всех таблиц, вы можете адаптировать его для экспорта данных. Однако это в PHP, и я не уверен, какой язык вы хотите использовать ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...