В настоящее время я работаю над приложением Windows с бэкэндом MySQL. Теперь я хочу скопировать старую структуру базы данных и данные на новый сервер базы данных.
Ответ 3
Если вы установили phpmyadmin, вы можете использовать следующие шаги:
- В phpmyadmin исходного сервера, используя функцию Экспорт ", убедитесь, что
a) В методе экспорта выберите "Пользовательский" - отобразите все возможные параметры
b) В разделе "Параметры, специфичные для формата", убедитесь, что выбраны "структура и данные".
c) В параметрах "Создание объектов" убедитесь, что также отмечен " ADD CREATE DATABASE/USE statement.
Экспортировать файл SQL.
-
scp экспортированный файл с исходного сервера на целевой сервер
-
В phpmyadmin целевого сервера, используя функцию Импорт ", импортируйте файл SQL в базу данных. В процессе импорта не было необходимости выбирать какую-либо специальную опцию.
Ответ 4
Чтобы напрямую скопировать базу данных с одного сервера на другой (даже локальный) без создания промежуточных файлов экспорта/дампа, вы можете сделать это в MySQL Workbench с помощью мастера. Перейдите в Database
→ Migration Wizard
. (редактировать: документы)
Оттуда вы можете выбрать исходные и целевые подключения, если вы ранее сохранили их в своем списке подключений, или вы можете создать новое подключение на лету (не забудьте установить флажок, чтобы добавить его в список подключений).
Вы также выберете тип базы данных или их общую версию (не помню, как она называется) и дадите ей понять, какие у вас есть серверы баз данных. Как правило, вы можете выбрать MySQL для баз данных MySQL или MariaDB, так как MariaDB, как правило, предназначен для "двоичной замены" MySQL.
Когда он просит вас выбрать, какие базы данных, я понимаю, что INFORMATION_SCHEMA
только для чтения и не должен выбираться. В противном случае, если у вас нет особых потребностей, возможно, выберите все другие таблицы, если, например, вы клонируете сервер (и, возможно, связанный с ним веб-сайт).
Оттуда вы позволите MySQL Workbench делать свое дело. Продолжайте нажимать "Далее", пока не пройдете процесс обратного инжиниринга вашей схемы со старых на новые серверы, пока он, наконец, не скопирует данные.
Есть много моментов, в которых вы можете внести изменения, прежде чем продолжить. Также у вас есть возможность просмотра потенциальных проблем и предупреждений, которые он отмечает во время процесса.
Когда это будет сделано, вам все равно нужно будет добавить пользователей (вручную?) Для клонированной базы данных. Вероятно, существует автоматический способ клонирования таблицы пользователей, но я не знаю об этом. Вы можете сделать это из командной строки, если ничего другого. Так как я использую это для своего локального разработчика, мне нужно только добавить себя.
Я не уверен, что использовать этот инструмент быстрее, чем экспортировать и импортировать базы данных обычным способом. Но это, конечно, проще.
Этот инструмент на самом деле предназначен для более сложных миграций между различными типами баз данных (например, PostgressSQL и MySQL), а не как общий инструмент, скажем, для получения копии вашей действующей базы данных на ваш локальный сервер разработки или наоборот.
В том же меню есть Database
→ Schema Transfer Wizard
, который, как я понял, будет использоваться, когда вам нужно обновить сервер до новой версии. Мне не ясно, в чем конкретно разница между этими двумя инструментами, или их фактическое использование.
Инструкции о том, как выполнять стандартные операции импорта/экспорта, в рабочей среде MySQL документами являются Мастер экспорта и импорта данных SQL и Мастер экспорта и импорта табличных данных.
Было бы здорово, если бы можно было напрямую импортировать/экспортировать между dev и live серверами, просто выбрав Connections, а не сохраняя и считывая файлы дампа.
Я думаю, что это может быть сделано через командную строку, хотя.