2010-12-28 3 views
248

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

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

+0

Вы можете проверить здесь, чтобы посмотреть, как импортировать базы данных в Windows: http://www.justinas.tk/blogger/import- mysql-file-via-command-line-in-windows/3 – Justinas

ответ

542

Предполагая, что вы находитесь на 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. Executing SQL Statements from a Text File

+123

+1 за исключением того, что вы не должны передавать свой пароль в качестве параметра CLI. Скорее просто укажите опцию -p и введите ее вручную после запроса. –

+0

@St справедливой точке. –

+12

Между -p и паролем нет места, если вы хотите ввести его оболочкой. – Kethryweryn

25

mysql -u <username> -p <database name> < <dump file path>

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

-p - подсказывать пароль

mysql -u root -p mydb < /home/db_backup.sql

еще можно передать пароль предшествуют -p но для обеспечения безопасности asons не внушаемы

+1

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

6

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

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

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

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

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>

+7

отлично работает на ubuntu –

+1

Почему нам не нужен; после имени файла? –

+4

@NabeelKhan * Большинство * операторов SQL требуют ';' в конце инструкции, но есть несколько исключений, включая 'USE' и' SOURCE'. –

3
  1. Откройте клиент MySQL из командной строки и введите свой пароль

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

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

    \. C:\currentSqlTable.sql 
    

    и нажмите Enter выполнить файл SQL скрипт.

+6

Что такое фигура 1/2/3? – glglgl

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, а также – ytterrr

3

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


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

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

6

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

mysql -uroot -p1234; use databasename; source /path/filename.sql 
+0

Это позволило увидеть журнал импорта –

4

How to load from command line

Объяснение:

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

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

  3. Выполнив показать таблицы, я получаю список как вы можете видеть.

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

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

пример

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

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

2

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

mysql> use <dbname> -> ИСПОЛЬЗОВАТЬ заявление говорит MySQL использовать dbname в качестве базы данных по умолчанию для последующего состояния Ментов

mysql> source <file-path> 

, например:

mysql> use phonebook; 

mysql> source /tmp/phonebook.sql; 

Важно: убедитесь, что файл SQL находится в директории, MySQL может получить доступ нравится/TMP

1

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

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

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

    connect emptyDatabase 
    

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

source /Users/myUser/mySourceDB/mySource.sql 
+0

работает для меня спасибо (Y) –

2

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

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

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

Пример: туздЫшпр -u -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 

Не e Файл SQL должен существовать в том же каталоге

Смежные вопросы