|
|
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Добрый день Такой вопрос - кто-нибудь пользуется бэкапом и рестором с использованием csv (-tab)? Почему обратил на него внимание - при ресторе через csv восстановление проходит быстрее чем из обычного скрипта. Трудности с рестором из csv: нужно указывать каждую таблицу в скрипте отдельно, перед заливкой из csv необходимо создать базу,отключить в ней триггеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 10:10:04 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Я использовал csv довольно долго для передачи данных в базу сайта, грузил mysqlimport-ом. Действительно, это быстрейший из известных мне способов загрузить данные в MySQL (не считая копирования файлов с данными, но там свои проблемы). Вы можете делать комбинированный бэкап/рестор: 1) Скрипт создания таблиц (внешние ключи выключить на время создания) 2) Загрузить все данные 3) Скрипт досоздания объектов в БД (триггеры, вторичные индексы, процедуры и т.п.) Собственно, общий скрипт полного восстановления тоже можно создавать на этапе бэкапа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 10:43:33 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
miksoftСобственно, общий скрипт полного восстановления тоже можно создавать на этапе бэкапа. Каким образом,если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 10:49:18 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
GallemarmiksoftСобственно, общий скрипт полного восстановления тоже можно создавать на этапе бэкапа. Каким образом,если не секрет?Тупо писать в текстовый файл нужные строки с командами, а потом объявить этот файл скриптом. Готового инструмента для этого я не знаю, если вопрос был об этом. Но не вижу большой проблемы написать за пару-тройку дней самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 10:54:12 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
miksoft, понятно,я в принципе такое и задумывал. Думал есть готовый скрипт bat или ps. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 10:57:28 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
а с такой проблемой не приходилось сталкиваться: http://www.sql.ru/forum/1117296/ne-srabatyvaet-otkluchenie-vneshnih-kluchey ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 11:31:15 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Скрипт создания БД можно сделать бэкапом БД без данных. Данные сохранять через SELECT .. INTO OUTFILE, и соответственно восстанавливать через LOAD DATA INFILE. Только при этом нужно соблюдать порядок заполнения таблиц, чтобы не попасть на ограничения FK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 11:55:38 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Akina,я планирую делать выгрузку через mysqldump -v ukm_server --tab=d:\CVS\ - данных, потом делать выгрузку только метаданных без триггеров, при восстановлении сначала создавать базу без триггеров,отключать проверку на FK и заливать данные, потом создавать триггеры в БД. Пока не проверял на рабочей БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 12:01:54 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Скрипт создания БД - это обычный текстовый файл. Его несложно разделить на два скрипта - в одном создавать структуру, в другом - индексы/ключи/процедуры/функции/триггеры. Первый выполнять до заливки данных, второй после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 12:03:56 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Akina,а как ускорить заливку данных? 1. при создании БД не создавать индексы и создавать их после заливки или по времени будет одинаково? 2. заливаю данные скриптом : mysqlimport -uУсер -pПароль База d:\CVS\trm_out_receipt_invoice.txt mysqlimport -uУсер -pПароль База d:\CVS\trm_out_receipt_item.txt mysqlimport -uУсер -pПароль База d:\CVS\trm_out_receipt_item_addition.txt mysqlimport -uУсер -pПароль База d:\CVS\trm_out_receipt_item_aoo.txt если изменю на : mysqlimport -uУсер -pПароль База d:\CVS\trm_out_receipt_invoice.txt d:\CVS\trm_out_receipt_item.txt d:\CVS\trm_out_receipt_item_addition.txt d:\CVS\trm_out_receipt_item_aoo.txt будет ли быстрее, т.к. не будет постоянных коннектов? 3. Убрать проверку FK на время заливки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 07:15:44 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
1) Индексирование после вставки гарантированно быстрее индексирования во время вставки. Исключения крайне редки и экзотичны. 3) Отсутствие индексов по факту отключает контроль FK - нечего контролировать. 2) Самым быстрым способом загрузки данных вроде бы считается LOAD DATA INFILE... но если хочется использовать утилиты командной строки, используйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 10:01:27 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Akina,спасибо. Утилиты cmd использую для автоматизации,нужно залить базу из 100 таблиц общим объемом 120 Гб и делать это каждый день :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 10:10:05 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Gallemar, для ускорения желательно источник и приёмник даныых разнести на разные физические носители ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 10:20:54 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
GallemarУтилиты cmd использую для автоматизации,нужно залить базу из 100 таблиц общим объемом 120 Гб и делать это каждый день :)Ну так и используй команду запуска на исполнение SQL-скрипта, а в нём выполняй всё необходимое. Нафига тебе лишний слой в этом пироге? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 13:13:26 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Akina,вот и думаю как это лучше сделать. Пока это так выглядит в батнике: Код: plaintext 1. 2. 3. 4. 5. 6. Объединить создание БД и создание в ней триггеров - легко,а вот с импортом сложнее. Хотя LOAD DATA INFILE наверно решит эту проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 04:25:32 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
хм, теперь такой вопрос поднялся - как то можно вытянуть DDL всех FK,PK, index, AI? Ни команд,ни утилит для этого не нашел. Без них - делают,а вот создать скрипт с одними ключам чтобы потом накатить - нельзя. Руками не проблема делать,но их много, и подразумевается,что база часто обновляется,а я её разработчиком не являюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 06:30:31 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Gallemarmysqlimport -uУсер -pПароль ukmserver d:\CVS\auth_bpc_journal.txt mysqlimport -uУсер -pПароль ukmserver d:\CVS\auth_gpb_journal.txt ....... тут ещё 100 таких строк импорта При переносе этого барахла в SQL-скрипт несложно создать хранимку, в которой всё это выполняется в компактном итеративном цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:05:40 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Gallemar как то можно вытянуть DDL всех FK,PK, index, AI?Запрашивать INFORMATION_SCHEMA и парсить ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:08:47 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Возник вот такой вопрос - переписал скрипты,теперь заливка идет так: Код: plaintext 1. 2. Всё хорошо,только для того,чтобы файл txt был видел MySQL, мне надо его класть с папку БД. Путь упорно не хочет использовать и выдает ошибку, как нибудь это можно разрулить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 05:22:42 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
GallemarПуть упорно не хочет использовать и выдает ошибку, как нибудь это можно разрулить?Да запросто. Всего-то делов - почитать документацию... например, не забыть модификатор LOCAL... да и права надо проверить - имеет ли их учётка, под которой стартует процесс сервера, в каталоге с файлами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 09:44:37 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
Gallemarвыдает ошибкусекретную, конечно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 10:02:53 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
miksoft, сам код: Код: plaintext p.s. файл точно есть по такому пути ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 15:36:35 |
|
||
|
Бэкап в csv и рестор
|
|||
|---|---|---|---|
|
#18+
miksoft,хм,код должен выглядеть так: load data infile 'c:"\_"temp\table_1.txt' into table table_1; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 19:26:30 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38754324&tid=1834060]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 323ms |

| 0 / 0 |
