Вы нажали на три странные полоски!



Значит Вы получите скидку в 5%, если при заказе укажете промокод "ЧАКНОРРИС".

Любые услуги теперь станут дешевле :)
Загружаем большую базу данных MySQL - Интернет бюро Q17G
Услуги в области недорогого создания сайтов для людей и фирм. Поддерживаем любые интернет проекты.
Создание сайта, сайты на wordpress, недорогой сайт, поддержка сайта
8184
single,single-post,postid-8184,single-format-standard,ajax_leftright,page_not_loaded,,qode-theme-ver-3.0,wpb-js-composer js-comp-ver-4.11,vc_responsive
 

Blog

kuJvZmcXITc

Загружаем большую базу данных MySQL

  |   Инсайд   |   1 Коммент

Стоило даже написать что загружаем ОЧЕНЬ БОЛЬШУЮ базу от WordPress блога. Возможно, по сравнению с крупными порталами или контактиком база конечно мизерная, но для гражданского проекта, поднятного на WordPress база в 1ГБ это много.

 

А началось всё с воскрешения проекта Lyrics2.ru и парсинга какого-то огромного сайта с текстами песен, вроде бы даже нескольких, чтобы база была пошире и выборка была поярче.

 

Так вот сначала мы спарсили 174 csv файла по 3000 строк в каждом, затем мы их упорно заливали на локалхосте, преобразуя их в записи WordPress, чтобы и метки и категории и названии групп присутствовали и фильтровались. Затем почему-то сменилась локальная машина разработки и нужно было перекинуть проект с одного компьютера на другой. Дело будет быстрым и победоносым показалось сначала, но потом стало ясно, что файлы в ~60МБ скопировались корректно, а вот база данных, которая даже после чистки и оптимизации весила 1,2ГБ не захотела сразу завестись, мешал тайм аут, который мы и без того подняли до 600 секунд, всё равно появлялись приключения!

 

Чтобы решить проблему максимально быстро и легко мы сначала разбили базу по таблицам, всего получилось 14 частей. Что немного упростило задачу, так как у нас загрузилось всё кроме текстов песен, которые и представляли особую ценность. Но вот десятый архив, который занимал ~940МБ всё равно выдавал нам тайм аут.

 

Тогда то и вспомнилась старая Линуксоидная закалка и домашние сервера в коридоре. Понятно же что это тайм аут не MySQL а это подлый тайм аут PHP и даже изменение max_execution_time не спасло. В общем 30 секунд гугления и освежения памяти дали прекрасную команду для консоли. Из трудного что нужно сделать. так это подключиться через PuTTy к Вашему хостингу по SSH (если у Вас нет SSH? то у вас похабный хостинг и надо валить!) и вбить:

 

mysql -u пользователь_БД -p имя_БД < файл_дампа_БД

 

пользователь_БД и имя_БД и файл_дампа_БД у каждого свои, главное помните, что если Вы куда-то сложили свой .gz то указывать надо полный путь, или переместитесь в консоли в нужную Вам папкой с помощью школьной команды «cd».

 

Если же Вам нужно слить большую базу, то пишите в консоли следующую команду:

 

mysqldump -u пользователь_БД -p имя_БД > имя_файла

 

Отдельно хочу сказать, что лично мне нравится хардкорный метод с полным контролем ситуации, когда загружаешь базу по частям и радуешься как в начала 2000-х зеленым строчкам об успешном выполнении команд. Или точно знаешь где засела проблема благодаря ужасным жёлтым окошкам в красной рамке с красными буквами.

 

В любом случае, если же Вам надо импортировать или экспортировать большую базу данных, а времени нет или не дай бог текст выше написан непонятным, гиковским языком — напишите нам на info@q17g.ru или позвните +7 495 769-83-06 и мы с радостью окажем Вам услугу по переносу сайта с хостинга на хостинг и обратно :)

1Коммент

Оставить коммент