Несмотря на то, что есть phpMyAdmin (и куча других помощников для работы с mysql), часто, для экспорта и импорта удобнее пользоваться консольными командами mysql. Процесс импорта экспорта происходит намного быстрее и нет необходимости заморачиваться с временем работы скрипта и размером файла (это актуально когда Ваш дамп базы достаточно большой).
Импорт данных в БД
Открываем консоль Windows (Win + R и вводим cmd).
Первый вариант импорта. Вводим команду в консоль:
mysql -u user_login -p user_pass db_name < path/to/file/dump_file_name.sql
где user_login
- имя пользователя БД, user_pass
- пароль пользователя, path/to/file/dump_file_name.sql
- путь и имя файла содержащего дамп БД для импорта (Например: C:/my_file.sql
).
Второй вариант импорта, вводим команду в консоль:
mysql -u user_login -p user_pass -h host_name
где user_login
- имя пользователя БД, user_pass
- пароль пользователя, host_name
- имя хоста (обычно localhost
).
Выбираем БД в которую необходимо импортировать:
use db_name
где db_name
- имя БД в которую необходимо импортировать имеющийся дамп.
И импортируем командой:
source path/to/file/dump_file_name.sql
где path/to/file/dump_file_name.sql
- путь и имя файла содержащего дамп БД для импорта (Например: C:/my_file.sql
).
Экспорт данных из БД
Делаем экспорт посредством удобного mysqldump :mysqldump -u user_login -p user_pass db_name > path/to/file/dump_file_name.sql
где user_login
- имя пользователя БД, user_pass
- пароль пользователя, path/to/file/dump_file_name.sql
- путь и имя файла который будет содержать данные экспорта БД (Например: C:/my_file.sql
).
Информация! Если у пользователя нет пароля (например root на локальном сервере под denwer), то параметр
mysqldump -u user_login db_name > path/to/file/dump_file_name.sql
или
mysql -u user_login db_name < path/to/file/dump_file_name.sql
Комментарии
У меня ошибка при выполнении команд:
Ответитьmysql -u root my_test_db < C:/test.sql
или
mysql -u root -h localhost
Текст ошибки:
‘mysql’ is not recognized as an internal or external command, operable program or batch file
Подскажите, из за чего эта ошибка?
У Вас добавлен mysql в переменные среды? Если нет, то посмотреть как это сделать можно здесь:
Ответитьhttp://кодер.укр/записи/mysql-windows-и-denwer-добавление-mysql-в-переменные-среды
Добавил. Теперь такая ошибка:
Ответитьerror 2003: Can't connect to MySQL server on 'localhost' (10061)
:)
Проверьте запущен ли mysql сервер
ОтветитьСпасибо, уже разобрался. Действительно mysql был не запущен
ОтветитьЗдравствуйте, у меня тут опять ошибка.
ОтветитьПри вызове команды экспорта:
mysqldump -u root my_test_db > C:/my_test_db.sql
Получаю вот такую ошибку:
'mysqldump' is not recognized as an internal or external command operable program or batch file
Опять вопрос, что делать? :)
попробуйте изменить команду экспорта таким образом:
Ответитьmysqld -u root my_test_db > C:/my_test_db.sql
Спасибо, что-то у меня никак с первого раза не получается. Надеюсь дальше будет проще :)
ОтветитьНа linux эти команды тоже подходят.
ОтветитьЯ еще люблю дату в дампы подставлять при экспорте:
mysqldump -u root your_db > ./bak/your_db_`date '+%y%m%d%H%M'`.sql;
Вопрос:
ОтветитьКак экспортировать таблицу с сервера на локальный комп?
Экспортируйте
Ответитьmysqldump -u user_login -p user_pass db_name > path/to/file/dump_file_name.sql
А потом скачиваете файл dump_file_name.sql
После этого:
Ответитьmysqldump -u user_login -p user_pass db_name > path/to/file/dump_file_name.sql
где сохраняется файл?
В папку которую вы указали после >
ОтветитьВ данном случае path/to/file/
Это понятно.
ОтветитьА папка где будет?
Папка будет по пути который вы укажите вместо path/to/file/
ОтветитьНапример: ~/dump_file_name.sql - сохранит в домашнюю папку пользователя
Спасибо.
ОтветитьНо мне нужно не всю базу, а одну таблицу.
Как это сделать?
phpMyAdmin
ОтветитьЧерез консоль как?
ОтветитьТаблица большая.
mysqldump --user=user_login --password=user_pass db_name tbl_name >tbl_name.sql
Ответитьu menya mysql rabotaet ili ne rabotaet kak mojno znat?
Ответитьna cmd kogda kod napiwem ,to u menya owibka budet ?
Помогите пожалуйста. Как залить саму базу на хост? Мы скачали ее а залить не знаем как =(( тяжело быть девушкой)
ОтветитьКак залить 3 базы ( 3 таблици ) в базу мускуль ( навигат )
ОтветитьТак неправилильно:mysql -u user_login -p user_pass db_name
Ответитьнужно: mysql -uuser_login -puser_pass db_nameи
Привіт, а як імпортувати файл бази данних на віртуальну машину?Дякую
Ответить