Многие разработчики утверждают, что визуальные редакторы (как в этом случае для импорта базы данных phpmyadmin) не так надежны, как командная строка. К тому же это не так уж и необычно, однако есть много причин, по которым некоторые люди предпочитают командную строку вместо пользовательского интерфейса.
Одной из наиболее известных причин в этом случае является задача импорта базы данных, потому что, как всем известно, существует ограничение размера файла базы данных с помощью phpmyadmin (макс: 2 048 КБ с конфигурацией по умолчанию xampp). Это, в свою очередь, не является большим ограничением, поскольку вы можете увеличить допустимый размер файла базы данных, однако для его настройки потребуется время, и это будет не так быстро, как с командной строкой (по меньшей мере, для людей с базой данных более 100 МБ).
В этой статье вы узнаете, как импортировать базу данных mysql с помощью командной строки в XAMPP для Windows.
1. Найдите исполняемый файл mysql
Исполняемый файл mysql — это простая оболочка SQL с возможностью редактирования строки ввода. Он поддерживает интерактивное и неинтерактивное использование. При интерактивном использовании результаты запроса представляются в формате ASCII-таблицы. При неинтерактивном использовании (например, в качестве фильтра) результат отображается в формате табуляции. Формат вывода можно изменить с помощью параметров команды.
Для нашей задачи, которая заключается в импорте базы данных с помощью командной строки, это будет обязательный инструмент, поэтому первое, что вам нужно сделать, это найти исполняемый файл mysql в вашем дистрибутиве xampp. Откройте папку xampp и найдите исполняемый файл внутри mysql/bin
в этом примере исполняемый файл будет расположен в E:\Programs\xampp\mysql\bin
папка:
Скопируйте путь в буфер обмена, так как он понадобится вам на следующем шаге.
2. Импортируйте базу данных с помощью командной строки
Использование mysql из интерфейса командной строки очень просто. Например, для импорта базы данных нам просто нужно выполнить следующую команду со следующими аргументами:
mysql -u {DATABASE_USERNAME} -p {DATABASE_NAME} < "path/to/file/database-to-import.sql"
Это с некоторыми реальными значениями, должно выглядеть так (импорт ourcodeworld.sql
База данных, расположенная на рабочем столе в ourcodeworld
база данных):
mysql -u root -p ourcodeworld < "C:\Users\sdkca\Desktop\ourcodeworld.sql"
После выполнения команд с необходимыми значениями консоль запросит пароль (который нужно оставить пустым, если его нет, и просто нажмите Enter) и начнет импорт базы данных. Это кажется довольно простым, однако вы, вероятно, не знаете, откуда вам нужно выполнить предыдущую команду, не так ли? С окнами есть 2 способа сделать это:
A. со всем исполняемым путем
Таким образом, вам не нужно переключаться с пути с помощью командной строки, поэтому вы можете выполнять команду из любой точки, где вы находитесь с консоли (даже с новым окном командной строки). Из примера команды замените mysql абсолютным путем к исполняемому файлу, и вы готовы к работе:
E:\Programs\xampp\mysql\bin\mysql.exe -u root -p ourcodeworld < "C:\Users\sdkca\Desktop\ourcodeworld.sql"
В командной строке выполнение предыдущих шагов покажет как результат:
Б. Изменение каталога
Другой способ также прост: вам нужно всего лишь перейти из каталога с командной строкой в путь, где расположен исполняемый файл mysql (шаг 1), в данном случае mysql/bin
:
cd E:\Programs\xampp\mysql\bin
И затем выполните команду снова (замените mysql
с mysql.exe
если команда не распознана):
mysql -u root -p ourcodeworld < "C:\Users\sdkca\Desktop\ourcodeworld.sql"
В командной строке выполнение предыдущих шагов покажет как результат:
Заметка
В случае, если вы получите ОШИБКА 1049 (42000): неизвестная база данных 'your-database-name' во время импорта зайдите в phpmyadmin и создайте базу данных вручную перед ее импортом.
С любым из предыдущих шагов, не должно быть никакого выхода если база данных была успешно импортирована, в противном случае что-то пошло не так.