Возможности экспорта MySQL баз
От: x-code  
Дата: 17.07.17 17:28
Оценка:
В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?
Например есть возможность сделать дамп в текстовом формате sql. Но это пожалуй самый неоптимальный вариант: в процессе установки такого файла на локальном клиенте нужно по сути выполнить миллиарды операций INSERT, чтобы у клиента возникла такая же база.
А может есть возможность экспортировать во что-то двоичное, чтобы загрузка на клиенте была предельно простой и быстрой?
Может есть средства экспорта из mySQL в какие-то форматы типа SQLite (правда я не знаю подойдет ли конкретно SQLite для баз гигабайтных размеров).

Добавлю еще вопрос. Есть ли в MySQL возможность делать такие вот выгрузки по определенным временнЫм диапазонам?
То есть чтобы в итоге получался не один файл дампа, а несколько разбитые по дням, или неделям, или иным промежуткам времени?
Отредактировано 17.07.2017 17:34 x-code . Предыдущая версия .
Re: Возможности экспорта MySQL баз
От: wildwind Россия  
Дата: 17.07.17 18:00
Оценка:
Здравствуйте, x-code, Вы писали:

XC>В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?


Да как запрограммируешь, так и будет.

XC>Например есть возможность сделать дамп в текстовом формате sql. Но это пожалуй самый неоптимальный вариант: в процессе установки такого файла на локальном клиенте нужно по сути выполнить миллиарды операций INSERT, чтобы у клиента возникла такая же база.

XC>А может есть возможность экспортировать во что-то двоичное, чтобы загрузка на клиенте была предельно простой и быстрой?
XC>Может есть средства экспорта из mySQL в какие-то форматы типа SQLite (правда я не знаю подойдет ли конкретно SQLite для баз гигабайтных размеров).

Правильно мыслишь. Сделай этот миллиард инсертов заранее. SQLite вполне подойдет.

XC>Добавлю еще вопрос. Есть ли в MySQL возможность делать такие вот выгрузки по определенным временнЫм диапазонам?


Тот же ответ. Как запрограммируешь, так и будет.
Re[2]: Возможности экспорта MySQL баз
От: x-code  
Дата: 17.07.17 18:02
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Тот же ответ. Как запрограммируешь, так и будет.


Возможно я не совсем точно сформулировал вопрос.
Что можно сделать встроенными средствами самого MySQL без написания своих утилит?
Re[3]: Возможности экспорта MySQL баз
От: wildwind Россия  
Дата: 17.07.17 18:06
Оценка: -1
Здравствуйте, x-code, Вы писали:

XC>Что можно сделать встроенными средствами самого MySQL без написания своих утилит?


Разработчики MySQL не предусмотрели встроенных средств для твоей узкоспециализированной задачи.
И правильно сделали.
Re: Возможности экспорта MySQL баз
От: Anton Batenev Россия https://github.com/abbat
Дата: 17.07.17 18:34
Оценка:
Здравствуйте, x-code, Вы писали:

x> В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?

x> Например есть возможность сделать дамп в текстовом формате sql. Но это пожалуй самый неоптимальный вариант: в процессе установки такого файла на локальном клиенте нужно по сути выполнить миллиарды операций INSERT, чтобы у клиента возникла такая же база.

Не обязательно. Опция --extended-insert делает дамп с множественными вставками за одну операцию insert. Но да, способ не быстрый (хотя надежный).

x> А может есть возможность экспортировать во что-то двоичное, чтобы загрузка на клиенте была предельно простой и быстрой?


xtrabackup или, если не требуется hot backup, просто скопировать бинарные файлы MySQL.

x> Может есть средства экспорта из mySQL в какие-то форматы типа SQLite (правда я не знаю подойдет ли конкретно SQLite для баз гигабайтных размеров).


mysql2sqlite или экспорт в CSV из MySQL (SELECT INTO OUTFILE) и загрузка CSV в базу SQLite. SQLite прекрасно справляется с базами во много GB при неконкурентной записи.

x> Добавлю еще вопрос. Есть ли в MySQL возможность делать такие вот выгрузки по определенным временнЫм диапазонам?

x> То есть чтобы в итоге получался не один файл дампа, а несколько разбитые по дням, или неделям, или иным промежуткам времени?

Без ручного партиционирования — нет. В общем случае наиболее удобным способом будет экспорт по диапазону дат в CSV и разбор на клиентской стороне любым удобным парсером или загрузка прям в MySQL (LOAD DATA INFILE).
Бэкапимся на Яндекс.Диск
Re: Возможности экспорта MySQL баз
От: BlackEric http://black-eric.lj.ru
Дата: 17.07.17 18:35
Оценка:
Здравствуйте, x-code, Вы писали:

XC>В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?


Ну я бы выгружал в тот формат который понимает клиентский софт.
https://github.com/BlackEric001
Re[2]: Возможности экспорта MySQL баз
От: x-code  
Дата: 17.07.17 19:59
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Ну я бы выгружал в тот формат который понимает клиентский софт.


А клиентский софт как раз я могу написать как хочу. Вот на сервер лезть нежелательно...
Re[3]: Возможности экспорта MySQL баз
От: BlackEric http://black-eric.lj.ru
Дата: 18.07.17 20:52
Оценка: 2 (1)
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, BlackEric, Вы писали:


BE>>Ну я бы выгружал в тот формат который понимает клиентский софт.


XC>А клиентский софт как раз я могу написать как хочу. Вот на сервер лезть нежелательно...


Ну так бекап/рестор?
https://github.com/BlackEric001
Re: Возможности экспорта MySQL баз
От: paucity  
Дата: 18.07.17 23:47
Оценка:
Здравствуйте, x-code, Вы писали:

XC>В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?


Что значит "в локальный клиентский софт"?

На клиентских машинах будет локальный инстанс MySQL или тебе надо трансформировать данные в формат вообще отличный от MySQL?
Re[3]: Возможности экспорта MySQL баз
От: wildwind Россия  
Дата: 19.07.17 09:32
Оценка:
Здравствуйте, x-code, Вы писали:

XC>А клиентский софт как раз я могу написать как хочу.


А конвертер стало быть не можешь?
Re: Возможности экспорта MySQL баз
От: MasterZiv СССР  
Дата: 21.07.17 12:00
Оценка:
Здравствуйте, x-code, Вы писали:

XC>В какой формат можно экспортировать большую (несколько гигов) MySQL базу, чтобы эту базу можно было быстро загрузить в локальный клиентский софт?

XC>Например есть возможность сделать дамп в текстовом формате sql. Но это пожалуй самый неоптимальный вариант: в процессе установки такого файла на локальном клиенте нужно по сути выполнить миллиарды операций INSERT, чтобы у клиента возникла такая же база.

Как бы это -- единственный вариант, и именно им все пользуются.
Других вариантов дампа и восстановления в MySQL нет. (кроме конечно холодного бэкапа базы — просто скопировать все файлы баз и восстановить в новом месте)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.