@DILYAR

Как сделать копию всех mysql баз данных в отдельные файлы?

Всем привет. Подскажите как сделать копии всех баз в отдельные файлы с названиям этих бд. Как это делается через "Экспорт" в phpmyadmin

В интернете нашел только как сделать общую бд или по отдельности. Хотел бы как-то по отдельности, но при этом всё в автоматическом режиме
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AVKor
В автоматическом режиме это делается написанием скрипта на bash. Получить список БД -> циклом обойти весь список и сделать для каждой свой дамп в отдельный файл с соответствующим названием.
Ответ написан
@daniil14056
Не совсем понял что значит
В интернете нашел только как сделать общую бд или по отдельности

и
Хотел бы как-то по отдельности

Но вообще вполне просто (пароль сразу после -p)
в консоли самой mysql: mysql> LOCK TABLES base_name.table_name READ;
в консоли cmd: C:\MySql\bin>mysqldump -uПользователь -pПароль и bd_name table_name > file_table.sql
потом разблокировать в mysql mysql> UNBLOCK TABLES

Ну и можно составить цикл по нужным таблицам передать список их имен, и по каждому имени пройтись, создавая для каждой таблице одноименный файл sql.
Можно составить просто файл со списком таблиц по строкам, затем читать его и циклом проходить их, можно думаю в батнике но не знаю там синтаксиса.
// на JAVE как то-так, думаю вполне понятно
public class Export{
public static void main(String []arg){
String tables[];
if(args.length==0)
  tables =new Array(){"table1","table2","table3"};
else{
    tables =new String[args.length];
     System.copyarray(tables,0,args,0,args.length);
}
 for( table : tables){
      Process proc = Runtime.getRuntime().exec("cmd  C:\MySql\bin>mysqldump -uПользователь -pПароль и bd_name "+table+" > file_"+table+".sql");
   }
}}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
D2C.io Екатеринбург
от 45 000 руб.