Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Не в сети
Вариант с SSH не рассматриваете?
mysql -u пользователь_БД -p имя_БД < файл_дампа_БД
Не в сети
Не в сети
Но будит ли он быстрее?
Быстрее, скорее всего, будет незначительно, но зато не будет зависеть от различных таймаутов (PHP, соединения с браузером и др.). Другое дело, что 5 часов импорта (если phpmyadmin действительно все 5 часов импортировал дамп) - это ненормально, значит, такой сервер слишком слаб для такого количества данных.
Вариант более быстрого импорта - не через SQL-дамп, а напрямую копированием /var/lib/mysql с одной системы на другую (только если на второй системе стоит MySQL той же minor-версии, т.е. первые две цифры совпадают - 5.5, 5.6, 5.7; для MyISAM, если его кто-то еще использует, таким образом можно копировать отдельные таблицы, а для InnoDB - только все БД и таблицы сразу). Файлы MySQL обычно хорошо сжимаются, но если индексов много, то передаваемых данных может быть заметно больше "полезного объема", и тогда лучше использовать mysqldump.
Не в сети
- будет незначительно
Странно, но через консоль примерно минут за 20 весь дамп залился.
- зависеть от различных таймаутов (PHP, соединения с браузером и др.)
Возможно что то из этого мешало тк все на локальном сервере делал.
- Другое дело, что 5 часов импорта (если phpmyadmin действительно все 5 часов импортировал дамп)
Может не 5 часов, но больше 3 это точно.
- Вариант более быстрого импорта — не через SQL-дамп, а напрямую копированием /var/lib/mysql с одной системы на другую (только если на второй системе стоит MySQL той же minor-версии, т.е. первые две цифры совпадают — 5.5, 5.6, 5.7; для MyISAM, если его кто-то еще использует, таким образом можно копировать отдельные таблицы, а для InnoDB — только все БД и таблицы сразу). Файлы MySQL обычно хорошо сжимаются, но если индексов много, то передаваемых данных может быть заметно больше «полезного объема», и тогда лучше использовать mysqldump.
Этот способ не подходит
-- Server version 10.0.32-MariaDB — на сервере откуда был сделан дамп
-- Версия сервера: 5.7.16 на локальном сервере
Запомню на будущее этот способ.
Спасибо!
Не в сети
Странно, но через консоль примерно минут за 20 весь дамп залился.
Это может быть, если в дампе очень много одиночных инструкций (обычно mysqldump делает огромные INSERT с тысячами записей в одной команде, а не 1 INSERT на 1 запись, т.к. это медленнее). Но все равно разница слишком большая - скорее всего, импорт в phpmyadmin прервался по какому-то из условий (max_execution_time, memory_limit, лимит на размер POST веб-сервера и т.д.), но в браузере этого не было заметно.
В любом случае, если дамп большой - нужно использовать консольный импорт, там меньше граблей и сразу видно, когда процесс идет, а когда закончился. Также можно запустить импорт в фоне и не бояться, что если ssh-сессия (или соединение в браузере, как в случае с PMA) разорвется, то импорт отменится - для этого есть nohup и screen (screen для особо продвинутых):
nohup bash -c 'mysql -uroot ... <import.sql' &
screen mysql -uroot ... <import.sql
На форуме уже поднималась подобная тема (как импортировать/переносить БД), с ней тоже полезно ознакомиться.
-- Server version 10.0.32-MariaDB — на сервере откуда был сделан дамп
-- Версия сервера: 5.7.16 на локальном сервере
Да, MariaDB с MySQL по файлам данных совершенно точно не совместима. Впрочем, MySQL сама откажется запускаться, если формат не тот.
Не в сети
Не в сети
Страницы 1