Работает быстрее и надежнее чем через phpmyadmin и с БД любых размеров.
На больших базах данных чтобы не обрушить сервер используем конфигурацию
mysqldump -u USER -p —single-transaction —quick —lock-tables=false DATABASE | gzip > OUTPUT.gz
- Заходим на SSH сервера клиента
- Проверяем подключение к Mysql mysql -u [DB_username] -p (спросит пароль)
- Смотрим тот ли пользователь (список баз данных) show databases;
- Проверяем наличие свободного места на хостинге клиента (при возможности)
- Заходим в тот каталог куда хотим получить дамп
- Делаем Дамп mysqldump -u [Username] -p [DBname] > [filename].sql (спросит пароль и молча начнет работать. Т.е. надо подождать пока появится приглашение BASH для ввода — это значит файл готов)
- Копируем созданный файл на сервер разработки в папку /var/www/html/storage/db
- Заходим в phpmyadmin на сервер разработки
- Переименовываем целевую базу данных если она есть, дописывая индекс _1, _2 или очередной после ее имени ВНИМАТЕЛЬНО! через раздел Операции (operations)
- Создать пользователя БД (как на хостинге)
- При создании пользователя поставить галочку “Create database with same name and grant all privileges.”
- Создаем новую базу данных с нужным именем (раздел home) — кодировка новой базы данных должна быть такой же как и у скопированной!!
- Заходим в созданную базу данных раздел Privileges и проверяем что пользователь с именем этой базы данных имеет к ней полный доступ
- Заходим по SSH на сервер разработки
- Переходим в папку /var/www/html/storage/db
- Выполняем команду mysql -u [DBUsername] -p [DBName] < [filename].sql если все ОК — надо будет подождать аналогично п. 7
- Проверяем базу данных через phpmyadmin
- Проверяем работу сайта
- Удаляем сделанную на шаге 9 базу данных.