Импорт экспорт базы данных средствами SSH

22 мая, 2023 Автор: korjeek

Работает быстрее и надежнее чем через phpmyadmin и с БД любых размеров.

На больших базах данных чтобы не обрушить сервер используем конфигурацию
mysqldump -u USER -p —single-transaction —quick —lock-tables=false DATABASE | gzip > OUTPUT.gz

  1. Заходим на SSH сервера клиента
  2. Проверяем подключение к Mysql mysql -u [DB_username] -p (спросит пароль)
  3. Смотрим тот ли пользователь (список баз данных) show databases;
  4. Проверяем наличие свободного места на хостинге клиента (при возможности)
  5. Заходим в тот каталог куда хотим получить дамп
  6. Делаем Дамп mysqldump -u [Username] -p [DBname] > [filename].sql (спросит пароль и молча начнет работать. Т.е. надо подождать пока появится приглашение BASH для ввода — это значит файл готов)
  7. Копируем созданный файл на сервер разработки в папку /var/www/html/storage/db
  8. Заходим в phpmyadmin на сервер разработки
  9. Переименовываем целевую базу данных если она есть, дописывая индекс _1, _2 или очередной после ее имени ВНИМАТЕЛЬНО! через раздел Операции (operations)
  10. Создать пользователя БД (как на хостинге)
  11. При создании пользователя поставить галочку “Create database with same name and grant all privileges.”
  12. Создаем новую базу данных с нужным именем (раздел home) — кодировка новой базы данных должна быть такой же как и у скопированной!!
  13. Заходим в созданную базу данных раздел Privileges и проверяем что пользователь с именем этой базы данных имеет к ней полный доступ
  14. Заходим по SSH на сервер разработки
  15. Переходим в папку /var/www/html/storage/db
  16. Выполняем команду mysql -u [DBUsername] -p [DBName] < [filename].sql если все ОК — надо будет подождать аналогично п. 7
  17. Проверяем базу данных через phpmyadmin
  18. Проверяем работу сайта
  19. Удаляем сделанную на шаге 9 базу данных.

 

Источник: http://qaru.site/questions/114074/how-can-i-slow-down-a-mysql-dump-as-to-not-affect-current-load-on-the-server

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Начните свой проект уже сегодня
Свяжитесь с нами в Телеграмм. Задайте вопрос, и получите быстрый ответ.
или
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.