Как клонировать удаленную базу данных mysql на локальную машину разработки?

Я работал с несколькими удаленными серверами, и мне надоела задержка пересылки вызовов MySQL через туннель ssh (-l 3306: localhost: 3306), поэтому я хотел найти способ быстро и легко клонировать удаленный (live ) database моей локальной машине разработчика, но большинство онлайн-ресурсов было с одного ssh-совместимого сервера на другой, а не то, что я хотел, клонировать удаленную базу данных на машину, с которой я подключаюсь.


person seaders    schedule 28.12.2012    source источник


Ответы (1)


Подключитесь со своей машины разработчика с удаленным портом и перенаправьте его на локальный порт MySQL, по умолчанию 3306.

ssh server.address.com -R 3307:localhost:3306

Затем на сервере, оттуда, вы можете войти в базу данных удаленного сервера со значением по умолчанию.

mysql

команда. Или оттуда войдите в вашу локальную базу данных разработчиков,

mysql --host=127.0.0.1 --port=3307

Затем это туннелирует порт 3307 с удаленного сервера на ваш локальный порт 3306 из указанного выше туннеля ssh.

Из-за этого вы можете напрямую запустить команду mysqldump в своей локальной базе данных mysql.

mysqldump --all-databases | mysql --host=127.0.0.1 --port=3307

Первая часть выгружает все базы данных, которые она может, в stout, но вы напрямую подключаете это к своей локальной базе данных с помощью второй половины команды.

** К вашему сведению, я пропустил всю информацию для входа в систему, чтобы все команды были максимально простыми, а также пытаюсь объяснить каждый бит как можно лучше, но для реальной работы я использую прямую

ssh server.address.com -R 3307:localhost:3306 'mysqldump --all-databases -uroot | mysql --host=127.0.0.1 --port=3307 -uroot'

команда.

Для меня это самый простой, быстрый и лучший способ клонировать вашу действующую базу данных локально для разработки.

person seaders    schedule 28.12.2012