Как я могу импортировать базу данных с MySQL из терминала?

340

Как я могу импортировать базу данных с mysql из терминала?

Я не могу найти точный синтаксис.

Теги:
import

16 ответов

640
Лучший ответ

Предполагая, что вы используете консоль Linux или Windows:

Запрашивать пароль:

mysql -u <username> -p <databasename> < <filename.sql>

Введите пароль напрямую (небезопасно):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

Пример:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

Смотрите также:

4.5.1.5. Выполнение операторов SQL из текстового файла


Примечание: Если вы на окнах, то вам придется cd (изменить каталог) к вашему MySQL/бен каталог внутри ЦМД перед выполнением команды.

  • 132
    +1 за исключением того, что вы не должны передавать свой пароль в качестве параметра CLI. Вместо этого просто укажите параметр -p и введите его вручную после запроса.
  • 0
    @ St Fair Point.
Показать ещё 7 комментариев
127

Предпочтительный способ для окон:

  • Откройте консоль и запустите интерактивный режим MySQL.

  • use <name_of_your_database>;

  • source <path_of_your_.sql>

  • 8
    отлично работает и на убунту
  • 1
    почему нам не нужен; после имени файла?
Показать ещё 4 комментария
32

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u - для имени пользователя

-p - -p пароль

Например. mysql -u root -p mydb </home/db_backup.sql

Вы также можете указать пароль, которому предшествует -p, но по соображениям безопасности он не поддается предположению. Пароль появится на самой команде довольно замаскировано.

  • 2
    Это ответ, который я ищу. «<» это знак, который я оставил.
7

в терминальном типе

mysql -uroot -p1234; use databasename; source /path/filename.sql
  • 0
    Это позволило увидеть журнал импорта
7

От терминала:

mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
6

Напрямую из var/www/html

mysql -u username -p database_name < /path/to/file.sql

Изнутри mysql:

mysql> use db_name;
mysql> source backup-file.sql
5

Ниже команда работает над ubuntu 16.04, я не уверен, что она работает или не работает на других платформах Linux.

Экспорт файла SQL:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

Пример: mysqldump -u root -p max_development > max_development.sql

Импортировать файл SQL:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

Примечание. Файл SQL должен существовать в том же каталоге

5
mysql -u username -ppassword dbname < /path/file-name.sql

Пример

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

Используйте это из терминала

5

Изображение 841

Пояснение:

  • Сначала создайте базу данных или используйте существующую базу данных. В моем случае я использую существующую базу данных

  • Загрузите базу данных, предоставив <name of database> = ClassicModels в моем случае и используя оператор <, укажите путь к database = sakila-data.sql

  • Запустив таблицы show, я получу список таблиц, как вы можете видеть.

Примечание. В моем случае я получил ошибку 1062, потому что я пытаюсь загрузить то же самое снова.

5

Обычно я использую эту команду для загрузки моих данных SQL при делении на файлы с именами: 000-tableA.sql, 001-tableB.sql, 002-tableC.sql.

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done

Хорошо работает в оболочке OSX.

  • 0
    хорошо работает и в оболочке Linux
4
  • Откройте клиент командной строки MySQL и введите свой пароль

  • Измените базу данных, которую вы хотите использовать для импорта данных файла .sql. Сделайте это, набрав:

    USE your_database_name
    
  • Теперь найдите файл .sql, который вы хотите выполнить.
    Если файл находится в основном локальном каталоге C: drive, а имя файла .sql script currentSqlTable.sql, вы должны ввести следующее:

    \. C:\currentSqlTable.sql
    

    и нажмите Enter, чтобы выполнить файл SQL script.

  • 6
    Что такое рисунок 1/2/3?
3

После битвы на некоторое время я нашел информацию в https://tommcfarlin.com/importing-a-large-database/

  • Подключитесь к Mysql (используйте root для имени пользователя и пароля):

    mysql -uroot -proot
    
  • Подключитесь к базе данных (предположим, что она называется emptyDatabase (ваше сообщение должно получить подтверждение):

    connect emptyDatabase
    

3 Импортируйте исходный код, скажем, файл называется mySource.sql, и он находится в папке mySoureDb под профилем пользователя с именем myUser:

source /Users/myUser/mySourceDB/mySource.sql
  • 0
    работает для меня спасибо (Y)
3

Если вы используете sakila-db с сайта mysql, Его очень легко на платформе Linux просто следуйте нижеприведенным шагам, после загрузки zip файла sakila-db извлеките его. Теперь у вас будет два файла: один sakila-schema.sql, а другой - sakila-data.sql.


  • Открыть терминал
  • Введите команду mysql -u root -p < Sakila-schema.sql
  • Введите команду mysql -u root -p < Sakila-data.sql
  • Теперь введите команду mysql -u root -p и введите свой пароль, теперь вы вошли в систему mysql с базой данных по умолчанию.
  • Чтобы использовать базу данных sakila, используйте эту команду use sakila;
  • Чтобы увидеть таблицы в sakila-db, используйте команду показать таблицы.

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

2

В Ubuntu, из монитора MySQL, вы уже использовали этот синтаксис:

mysql> use <dbname> - > Оператор USE говорит MySQL использовать dbname как базу данных по умолчанию для последующих операторов

mysql> source <file-path>

, например:

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

Важно: убедитесь, что файл sql находится в каталоге, в котором mysql может получить доступ к, чтобы нравится/tmp

0

Самый простой способ импортировать базу данных в вашем MYSQL из терминала - это описанный ниже процесс.

mysql -u root -p root database_name < path to your .sql file

То, что я делаю выше, это:

  1. Вход в mysql с моим именем пользователя и паролем (здесь это root & root)
  2. После ввода пароля я даю имя базы данных, куда я хочу импортировать мой файл .sql. Пожалуйста, убедитесь, что база данных уже существует в вашем MYSQL
  3. За именем базы данных следует < и затем путь к вашему файлу .sql. Например, если мой файл хранится в Desktop, путь будет /home/Desktop/db.sql

Это. После того, как вы все это сделали, нажмите enter и подождите, пока ваш файл .sql будет загружен в соответствующую базу данных.

0

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

Для его установки вы можете использовать следующую команду:

sudo apt-get update
sudo apt-get install mysql-server

Refrence здесь.

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

mysql -u <username> -p <databasename> < <filename.sql>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню