Как перенести базу данных mysql на другой компьютер
Обновлено: 21.11.2024
В этой статье описывается, как импортировать и экспортировать базы данных MySQL. Вы можете импортировать и экспортировать базы данных для различных сценариев, в том числе:
- Перенос базы данных MySQL из одной учетной записи или провайдера веб-хостинга в другую.
- Импорт сторонней базы данных MySQL.
- Резервное копирование базы данных MySQL.
Как экспортировать базу данных MySQL
Вы можете экспортировать базу данных MySQL в файл с помощью phpMyAdmin или программы командной строки таблицы/базы данных mysqldump.
Вы можете экспортировать базу данных MySQL с помощью веб-интерфейса phpMyAdmin. Для этого выполните следующие действия:
-
Войдите в cPanel.
Страница администрирования phpMyAdmin появится в новом окне.
Подтвердите, что в разделе "Метод экспорта" выбран вариант "Быстрый".
Если вы используете более старую версию phpMyAdmin, в которой нет опции Quick, выполните следующие действия:
- В разделе "Экспорт" нажмите "Выбрать все" .
- Установите флажок "Сохранить как файл" и нажмите "Перейти" . Выполняется процесс экспорта.
Вы можете экспортировать базу данных MySQL из командной строки, используя программу таблицы/базы данных mysqldump. Для этого выполните следующие действия:
- Откройте командную строку на компьютере, где хранится база данных. Например, если база данных находится в другой учетной записи веб-хостинга или у другого поставщика веб-хостинга, войдите в учетную запись, используя SSH. Если у вас есть физический доступ к компьютеру, вы можете открыть окно DOS или терминала для доступа к командной строке.
- Введите следующую команду и нажмите Enter. Замените username на ваше имя пользователя, а dbname на имя базы данных, которую вы хотите экспортировать:
В этом примере используется имя файла dbexport.sql для экспортируемой базы данных, но вы можете назвать файл как хотите.
Создание новой базы данных MySQL и назначение пользователя
Прежде чем вы сможете импортировать базу данных, вы должны создать новую базу данных в cPanel и назначить для нее пользователя. Для этого выполните следующие действия:
-
Войдите в cPanel.
Как импортировать базу данных MySQL
После того как вы создали новую базу данных в cPanel, вы можете импортировать содержимое базы данных с помощью phpMyAdmin или программы командной строки mysql.
Если экспортированный файл базы данных содержит операторы CREATE DATABASE, вы должны удалить их или закомментировать. В противном случае процесс импорта завершится ошибкой.
Вы можете импортировать базу данных MySQL с помощью веб-интерфейса phpMyAdmin. Для этого выполните следующие действия:
-
Войдите в cPanel.
Страница администрирования phpMyAdmin появится в новом окне.
Вы можете импортировать базу данных MySQL из командной строки с помощью программы mysql. Для этого выполните следующие действия:
- Перенесите файл dbexport.sql в свою учетную запись хостинга A2 с помощью SCP, SFTP или FTP.
- Войдите в свою учетную запись хостинга A2, используя SSH.
- Перейдите в каталог, в который вы загрузили файл dbexport.sql. Например, если вы загрузили файл dbexport.sql в свой домашний каталог, введите cd ~ .
- Введите следующую команду и нажмите Enter. Замените имя пользователя на свое имя пользователя и имя базы данных на имя базы данных, в которую вы хотите импортировать данные:
- Теперь база данных dbname должна содержать данные из файла dbexport.sql.
Устранение неполадок при импорте базы данных MySQL
Вы можете получить одно из следующих сообщений об ошибке при попытке импортировать базу данных MySQL с помощью phpMyAdmin или программы mysql:
- ОШИБКА 1044: Доступ запрещен для пользователя 'username1'@'localhost' к базе данных 'username2_database'
Это сообщение об ошибке возникает, когда файл импорта содержит оператор SQL, который пытается получить доступ к базе данных для неправильного имени пользователя. Обратите внимание, что в этом примере username2 в username2_database не соответствует username1 в 'username1'@'localhost '. Вы должны отредактировать файл импорта и изменить username2 на новое username1. - ОШИБКА 1049: Неизвестная база данных 'username_database'
Это сообщение об ошибке появляется, когда целевая база данных не существует. Убедитесь, что вы сначала создали базу данных, как описано выше, а затем повторите попытку импорта. - ОШИБКА 1064: ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'username_database' в строке x.
Это сообщение об ошибке появляется, когда файл импорта не содержит резервных данных для базы данных или в файле есть синтаксическая ошибка MySQL. Кроме того, файл импорта может быть изменен, поврежден или иметь неподдерживаемый формат.(Файлы импорта должны содержать операторы SQL; другие форматы файлов, такие как CSV, не работают с программой mysql.) Попробуйте еще раз экспортировать базу данных, а затем импортировать ее. - ОШИБКА 1227: доступ запрещен; вам нужны (по крайней мере, одна из) привилегия SUPER для этой операции
Это сообщение об ошибке появляется, когда файл импорта содержит одну или несколько инструкций SQL, требующих привилегий суперпользователя (таких как инструкции SET GLOBAL или CREATE DEFINER). В некоторых случаях можно просто удалить эти операторы из файла .sql и перезапустить процесс импорта. Например, оператор CREATE DATABASE можно безопасно удалить, потому что вы уже должны были создать базу данных в cPanel. Однако, если вам требуется доступ суперпользователя MySQL, вам следует подумать о переносе своей учетной записи на VPS или выделенный сервер, где у вас есть полный контроль над средой.
Я хочу скопировать базу данных mysql со своего компьютера на другой компьютер. Как мне это сделать?
6 ответов 6
Как скопировать базу данных Mysql с одного компьютера на другой / создать резервную копию базы данных с помощью mysqldump
Мы можем перенести базу данных MySQL с одного компьютера на другой с помощью команды mysqldump.
Мы должны создать файл дампа базы данных для переноса базы данных с одного компьютера на другой.
База данных MySQL не является переносимой базой данных, т. е. мы не можем перенести ее с одного компьютера на другой путем копирования и вставки.
Мы можем использовать следующий метод для передачи базы данных.
Создание файла дампа из базы данных/ Резервное копирование базы данных MySQL:
Открыть командную строку.
Выполните следующие команды, чтобы изменить каталог
Скопируйте файл sql и вставьте его на компьютер, куда вы хотите перенести базу данных.
"нажмите ввод" Имя базы данных должно совпадать с именем вашей базы данных.
Скопируйте этот файл sql в папку «c:/program files/MySQL/MySQL Server 5.1/bin»
Еще один:1
Лучший и самый простой способ — использовать инструменты БД (SQLyog)
С помощью этих инструментов вы можете соединить 2 сервера баз данных и просто скопировать одну базу данных с сервера a на сервер b.
Еще один:2
Для базы данных с именем "lbry" попробуйте следующее:
Создайте базу данных с тем же именем (в данном примере "lbry") на компьютере, на который вы хотите скопировать содержимое базы данных
Теперь я получаю эту ошибку "mysqldump: Ошибка: 1030: Ошибка 1 от механизма хранения при использовании LOCK TABLES"
Вы можете выполнить этот процесс шаг за шагом, используя MySQL WorkBench.
- Установите MySQL Workbench
- Подключиться к существующей базе данных
- Перейдите в Навигатор -> Управление -> Экспорт данных. (при этом запросы таблиц будут сбрасываться одна за другой в отдельную папку, Workbench использует ту же папку для импорта)
- Создайте базу данных на целевом ПК.
- Подключение к целевой базе данных (будет состоять из 0 таблиц в БД)
- Перейдите в Навигатор -> Управление -> Импорт/Восстановление данных. (это будет использовать папку дампа и создавать таблицы в вашей целевой базе данных).
Надеюсь, это поможет.
Единственный БЕЗОПАСНЫЙ способ копирования баз данных с одной машины на другую — сначала приостановить базу данных (убедитесь, что клиенты не изменяют ее), а затем использовать команду mysqldump для создания текстового представления вашей схемы и содержимого ваших таблиц. . Затем скопируйте этот текстовый файл на другой компьютер и прочитайте его, указав его в качестве входных данных для команды mysql.
Попытка скопировать фактические каталоги данных mysql вызывает проблемы, поскольку они зависят от архитектуры машины, на которой работает mysql, и, вероятно, от версии mysql и любого используемого механизма хранения.
- Это руководство предназначено для Ubuntu, но будет работать на Redhat, Centos, Fedora, Suse
- Мы можем сбросить базу данных, перенести ее на другой сервер и восстановить
- В нем показано, как позаботиться о таких вещах, как измененные учетные данные, а перемещение файла debain.cnf 4 восстановление дампа замедлит работу сервера. Как это работает
4.1 Запустите mysqldump на исходном сервере: это создаст исполняемый скрипт MySQL для целевого сервера. В течение этого времени сервер MySQL будет ставить запросы в очередь. 4.2 Скопировать файл дампа на целевой сервер 4.3 Пустой целевой сервер 4.4 Выполнить файл дампа на целевом сервере
Сервер А (исходный сервер) Сервер Б (целевой сервер)
-- теперь дамп базы данных
Чтобы скопировать файлы, создайте ключ ssh на исходном сервере
перейти к целевому серверу
последний шаг скопируйте содержимое файла debain.cnf
выбрать все и скопировать этот файл на целевой сервер.
Вариант 2. Сервер B удаляет все базы данных
если эта команда не удаляет базы данных, используйте ее с опцией -force
скопируйте ключ ssh на целевой сервер
root@destination$ echo "вставьте сюда ключ" >> /home/ubuntu/.ssh/authorized_keys
перейти на исходный сервер и использовать команду scp для перемещения дампа на целевой сервер
(вставить файл)
вставьте сюда содержимое файла .cnf с исходного сервера и сохраните файл :x
Вывод: в этом руководстве показано, как скопировать базу данных MySQL на тот же сервер и с одного сервера на другой.
Скопируйте базу данных MySQL на тот же сервер
Чтобы скопировать базу данных MySQL, необходимо выполнить следующие действия:
- Сначала создайте новую базу данных с помощью инструкции CREATE DATABASE.
- Во-вторых, экспортируйте все объекты базы данных и данные базы данных, из которой вы хотите скопировать, с помощью инструмента mysqldump.
- В-третьих, импортируйте файл дампа SQL в новую базу данных.
Для демонстрации мы скопируем базу данных classicmodels в базу данных classicmodels_backup.
Шаг 1. Создайте базу данных classmodels_backup:
Сначала войдите на сервер базы данных MySQL:
Затем используйте оператор CREATE DATABASE следующим образом:
В-третьих, используйте команду SHOW DATABASES для проверки:
Сервер базы данных MySQL возвращает следующий вывод:
Как видите, мы успешно создали базу данных classicmodels_backup.
Шаг 2. Скопируйте объекты базы данных и данные в файл SQL с помощью инструмента mysqldump.
Предположим, вы хотите выгрузить объекты базы данных и данные базы данных classicmodels в файл SQL, расположенный в папке D:\db, вот команда:
По сути, эта команда указывает mysqldump войти на сервер MySQL, используя учетную запись пользователя root с паролем, и экспортирует объекты базы данных и данные базы данных classicmodels в d:\db\classicmodels. sql . Обратите внимание, что оператор ( > ) означает экспорт.
Шаг 3. Импортируйте файл d:\db\classicmodels.sql в базу данных classicmodels_backup.
Обратите внимание, что оператор ( ) означает импорт.
Чтобы проверить импорт, вы можете выполнить быструю проверку с помощью команды SHOW TABLES.
Он вернул следующий результат:
Как видите, мы успешно скопировали все объекты и данные из базы данных classicmodels в базу данных classicmodels_backup.
Скопировать базу данных MySQL с одного сервера на другой
Чтобы скопировать базу данных MySQL с одного сервера на другой, выполните следующие действия:
- Экспортировать базу данных на исходном сервере в файл дампа SQL.
- Скопируйте файл дампа SQL на целевой сервер
- Импортируйте файл дампа SQL на целевой сервер
Давайте посмотрим, как скопировать базу данных classicmodels с одного сервера на другой.
Сначала экспортируйте базу данных classicmodels в файл db.sql.
Обратите внимание, что параметр --database позволяет mysqldump включать операторы CREATE DATABASE и USE в файл дампа SQL. Эти операторы создадут базу данных classicmodels на целевом сервере и сделают новую базу данных базой данных по умолчанию для загрузки данных.
Вкратце, следующие операторы включаются в начало файла дампа SQL, когда мы используем параметр --database.
В-третьих, импортируйте файл db.sql на сервер базы данных, предполагая, что файл db.sql был скопирован в папку c:\tmp\.
В этом руководстве вы шаг за шагом научились копировать базу данных MySQL на тот же сервер и копировать базу данных с одного сервера на другой.
Перенос или миграция базы данных MySQL/MariaDB между серверами обычно выполняется всего за несколько простых шагов, но перенос данных может занять некоторое время в зависимости от объема данных, которые вы хотите передать.
В этой статье вы узнаете, как перенести или перенести все ваши базы данных MySQL/MariaDB со старого сервера Linux на новый сервер, успешно импортировать их и убедиться, что данные там.
Важные примечания
- Убедитесь, что на обоих серверах с одинаковым дистрибутивом установлена одна и та же версия MySQL.
- Убедитесь, что на обоих серверах достаточно свободного места для хранения файла дампа базы данных и импортированной базы данных.
- Никогда не думайте о перемещении каталога данных базы данных на другой сервер. Никогда не вмешивайтесь во внутреннюю структуру базы данных, иначе у вас возникнут проблемы в будущем.
Экспорт базы данных MySQL в файл дампа
Сначала войдите на свой старый сервер и остановите службу mysql/mariadb с помощью команды systemctl, как показано.
Затем создайте дамп всех ваших баз данных MySQL в один файл с помощью команды mysqldump.
После создания дампа вы готовы к переносу баз данных.
Если вы хотите создать дамп одной базы данных, вы можете использовать:
Перенос файла дампа баз данных MySQL на новый сервер
Теперь используйте команду scp для переноса файла дампа вашей базы данных на новый сервер в домашний каталог, как показано.
После подключения база данных будет перенесена на новый сервер.
Импорт файла дампа баз данных MySQL на новый сервер
После того как файл дампа MySQL будет перенесен на новый сервер, вы можете использовать следующую команду для импорта всех ваших баз данных в MySQL.
После завершения импорта вы можете проверить базы данных на обоих серверах, используя следующую команду в оболочке mysql.
Перенос баз данных и пользователей MySQL на новый сервер
Если вы хотите переместить все свои базы данных MySQL, пользователей, разрешения и структуру данных со старого сервера на новый, вы можете использовать команду rsync, чтобы скопировать все содержимое из каталога данных mysql/mariadb на новый сервер, как показано. р>
После завершения переноса вы можете установить владельца каталога данных mysql/mariadb для пользователя и группы mysql, а затем просмотреть список каталогов, чтобы убедиться, что все файлы были переданы.
Вот и все! В этой статье вы узнали, как легко перенести все базы данных MySQL/MariaDB с одного сервера на другой. Как вы находите этот метод по сравнению с другими методами? Мы хотели бы услышать от вас через форму комментариев ниже, чтобы связаться с нами.
Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.
Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:
TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.
Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Похожие сообщения
13 мыслей о том, как перенести все базы данных MySQL со старого на новый сервер
У нас есть база данных версии mysql 4, и нам нужно импортировать эту базу данных в новую версию MySql.
Как мы можем это сделать? есть какая-то процедура? нам нужно написать несколько скриптов?
Если вы остановите сервер MySQL или MariaDB, вы не сможете сбросить базу данных.
Это работает только для перехода от одной версии к одной и той же. Я попытался переместить таблицы из моей старой установки в новую, и все, что он сделал, это исказил ее до такой степени, что она не работала из-за изменений структуры, изменений таблиц, методов хранения и так далее. Работать с пользовательскими таблицами — это хорошо, но взять все административные таблицы тоже не получится!
Мы проверяем эту статью на основе подобных отзывов. Большое спасибо.
Мне нужно перенести все базы данных с одного сервера на другой, а также запустить репликацию.
Это поможет мне?
Пожалуйста, помогите с этим
Согласовано с Джорданом Соренсоном по поводу rhel-7.4.
Рассмотрите возможность предложения в некоторых, но не во всех случаях, для больших баз данных сжимать файл дампа *.sql.
В CentOS 6 с MySQL 5.5 команда mysqldump не запускается, если не запущен демон mysqld.
Кроме того, "-all-databases" не существует.
Хорошо, мы проверим это, спасибо за отзыв.
Возможно, вы просто пропустили "--", как в " --all-databases ".
Спасибо, исправил в статье..
Это все еще не исправлено в первом разделе экспорта, также как и то, что уже было указано, mysqldump требует запуска mysqld для работы.
Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Попробуйте интеллектуальный инструмент переноса данных Windows 11, чтобы перенести все данные одним щелчком мыши.
EaseUS Todo PCTrans
Бесплатная техническая поддержка
Отзывы и награды
"Как я могу переместить MySQL с одного физического сервера на другой? Например, вот такой сценарий: у меня есть сервер MySQL, который использует таблицу InnoDB и занимает около 20 ГБ в электронной форме. Я хочу переместить его на новый сервер, что самый эффективный способ сделать это?"
MySQL – это система управления реляционными базами данных, основанная на языке структурированных запросов. Мы используем его для управления информацией, хранящейся на компьютере, включая личные данные или огромное количество информации в компании. Благодаря этой бесплатной системе управления базами данных компаниям легко управлять своим бизнесом. Итак, как перенести базу данных между двумя серверами для сохранения этих данных?
Следуйте нашему пошаговому руководству, чтобы переместить базу данных MySQL на другой сервер с помощью стороннего инструмента переноса базы данных и программы резервного копирования MySQL. Эти два метода применяются для переноса базы данных в Windows.
(Самый простой) Как перенести базу данных MySQL с одного сервера на другой
Нет необходимости изучать командную строку других упомянутых статей; несколько щелчков мыши могут переместить базы данных MySQL. Именно поэтому EaseUS Todo PCTrans выделяется среди них. Все, что вам нужно, это загрузить этот инструмент миграции базы данных и выполнить 3 простых шага. Доверьтесь EaseUS! Мы профессионально переносим базу данных с одного сервера на другой.
Нажмите кнопку загрузки, чтобы открыть пробную версию:
EaseUS Todo PCTrans Technician
Ваше интеллектуальное программное обеспечение для передачи файлов Windows Server.
Неограниченная передача файлов между серверами. Перенос программ, приложений без переустановки. Перенести учетную запись, настройки на новый серверный компьютер. Спасение данных, поиск ключа продукта для установленных программ.
Бесплатная техническая поддержка
EaseUS Todo PCTrans по умолчанию поддерживает миграцию MySQL, установленной на системном диске. Кроме того, это помогает перенести выборочную установку MySQL.
Шаг 1. Запустите EaseUS Todo PCTrans на обоих ПК
На исходном ПК выберите «ПК-ПК» на главном экране EaseUS Todo PCTrans и продолжайте.
Шаг 2. Выберите направление переноса — Старый или Новый компьютер
"Новый" — перенос всех данных с удаленного старого компьютера на текущий новый компьютер.
"Старый" — перенос всех данных с текущего старого устройства на новый компьютер.
Шаг 3. Подключите два компьютера
<р>1. Выберите целевой компьютер для подключения по его IP-адресу или имени устройства и нажмите «Подключиться». <р>2. Введите пароль для входа на целевой компьютер и нажмите «ОК» для подтверждения.Если вы не видите целевой компьютер в списке устройств, вы также можете нажать «Добавить компьютер», чтобы вручную подключить целевой компьютер, введя его IP-адрес или имя устройства.
Шаг 4. Выберите приложения, программы и программное обеспечение и перенесите их на целевой компьютер
<р>1. Вы можете выбирать и выбирать, что вы хотите перенести с текущего компьютера на целевой ПК. <р>2. Выбрав нужные приложения и программы, нажмите «Перенести», чтобы начать процесс переноса.
Бесплатная техническая поддержка
Если вы хотите выполнить удаленную передачу, вы можете попробовать режим «Резервное копирование и восстановление» EaseUS Todo PCTrans. В следующей части мы познакомим вас с программой резервного копирования базы данных для ее резервного копирования в виде одного файла с помощью mysqldump.
Как перенести базу данных на целевой сервер
Для переноса базы данных между двумя серверами требуется Mysqldump, утилита командной строки для создания резервной копии базы данных MySQL, чтобы клонировать базу данных MySQL.
Во-первых, необходимо экспортировать базы данных в файл дампа. Затем перенесите его на целевой сервер. В конце импортируйте базы данных MySQL на новый сервер.
Шаг 1. Экспорт базы данных MySQL в файл дампа
Войдите на свой старый сервер и введите команду systemctl, чтобы остановить службу MySQL:
systemctl остановить mysql
Экспортируйте базу данных в виде файла дампа с помощью команды mysqldump:
Дамп всех баз данных MySQL: mysqldump -u [пользователь] -p --all-databases > all_databases.sql
Дамп одной базы данных: mysqldump -u root -p --opt [имя базы данных] > имя_базы_данных.sql
Шаг 2. Перенесите базы данных MySQL на новый сервер с помощью команды SCP
SCP — это программа для передачи файлов, установленная в Linux. Если вы хотите использовать его, вы можете поместить командную строку SCP в командную строку. Если это не работает, вы можете сначала загрузить SCP. Или вернитесь к использованию EaseUS Todo PCTrans.
Все базы данных: scp all_databases.sql [email protected]:~/
Единая база данных: scp имя_базы_данных.sql [email protected]:~/
После этого вы сможете увидеть базу данных на новом сервере.
Шаг 3. Импорт базы данных в MySQL
Выполните следующую командную строку, чтобы импортировать файл дампа базы данных MySQL на новый сервер.
Все базы данных: mysql -u [пользователь] -p --all-databases
Одна база данных: mysql -u [пользователь] -p новая база данных
Дополнительные параметры:
Если вы хотите переместить какие-либо определенные таблицы базы данных MySQL, введите следующую команду:
mysqldump -u [имя пользователя] -p [база данных] [таблица1] [таблица2] > dump.sql
Об авторе
Роксанна является одним из основных участников EaseUS. Она создала множество публикаций на цифровых устройствах, таких как ПК, мобильные телефоны, планшеты, Mac и т. д. Она любит делиться идеями с людьми, интересующимися тем же.
Отзывы и награды
Отзывы о товарах
EaseUS Todo PCTrans Free – это полезное и надежное программное решение, созданное для операций по миграции компьютеров, будь то с одной машины на другую или с более ранней версии вашей ОС на более новую.
EaseUS Todo PCTrans разработан людьми из EaseUS, которые создают невероятные инструменты, позволяющие управлять резервными копиями и восстанавливать поврежденные жесткие диски. Хотя это не официальный инструмент, EaseUS славится своим программным обеспечением и кодом.
Он предлагает возможность перенести всю вашу учетную запись пользователя со старого компьютера, то есть все будет быстро перенесено. Вы по-прежнему можете сохранить свою установку Windows (и соответствующие драйверы для вашего нового ПК), но вы также получите все свои приложения, настройки, предпочтения, изображения, документы и другие важные данные.
Читайте также: