mysql - source - importar sql xampp




Como importar um arquivo SQL usando a linha de comando no MySQL? (20)

Importar um banco de dados

  1. Vá para dirigir:

    command: d:
  2. Login do MySQL

    command: c:\xampp\mysql\bin\mysql -u root -p
  3. Ele vai pedir pwd. Digite:

    pwd
  4. Selecione o banco de dados

    use DbName;
  5. Forneça o nome do arquivo

    \.DbName.sql

Eu tenho um arquivo .sql com uma exportação do phpMyAdmin . Eu quero importá-lo em um servidor diferente usando a linha de comando.

Eu tenho uma instalação do Windows Server 2008 R2. .sql arquivo .sql na unidade C e tentei este comando

database_name < file.sql

Não está funcionando, recebo erros de sintaxe.

  • Como posso importar este arquivo sem um problema?
  • Preciso criar um banco de dados primeiro?

  1. Abra a linha de comando do MySQL
  2. Digite o caminho do diretório mysql bin e pressione Enter
  3. Cole seu arquivo SQL dentro da pasta bin do servidor mysql.
  4. Crie um banco de dados no MySQL.
  5. Use esse banco de dados específico para o qual você deseja importar o arquivo SQL.
  6. Digite source databasefilename.sql e Enter
  7. Seu arquivo SQL é enviado com sucesso.

A maneira mais fácil de importar para o seu esquema:

Entre para o mysql e emita abaixo os comandos mencionados.

mysql> use your_db_name;

mysql> source /opt/file.sql;

Adicione a opção --force :

mysql -u username -p database_name --force < file.sql

Continuei correndo para o problema em que o banco de dados não foi criado.

Eu consertei assim

mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql

Enquanto a maioria das respostas aqui apenas menciona o comando simples

mysql -u database_user -p [db_name] <database_file.sql

hoje é bastante comum que bancos de dados e tabelas tenham agrupamento utf8 onde esse comando não é suficiente. Tendo utf8-collation nas tabelas exportadas, é necessário usar este comando:

mysql -u database_user -p --default-character-set = utf8 [nome_do_banco_de_dados] <database_file.sql

Surley isso funciona para outros conjuntos de caracteres também, como mostrar a notação correta pode ser visto aqui:

https://dev.mysql.com/doc/refman/5.7/en/show-collation.html

Um comentário também mencionou que, se um banco de dados nunca existisse, um banco de dados vazio teria que ser criado primeiro. Isso pode estar certo em alguns casos, mas depende do arquivo de exportação. Se o arquivo exportado já incluir o comando para criar o banco de dados, o banco de dados nunca precisará ser criado em uma etapa separada, o que pode até causar um erro na importação. Portanto, ao importar, é aconselhável dar uma olhada primeiro no arquivo para saber quais comandos estão incluídos lá. Na exportação, é aconselhável observar as configurações, especialmente se o arquivo for muito grande e difícil de ler em um editor.

Existem ainda mais parâmetros para o comando que são listados e explicados aqui:

https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

Se você usar outra versão de banco de dados, considere pesquisar também a versão correspondente do manual. Os links mencionados referem-se ao MySQL versão 5.7.


Estou usando o Windows 10 com o Powershell 5 e descobri que quase todas as soluções "unix-like" não funcionam para mim.

> mysql -u[username] [database-name] < my-database.sql
At line:1 char:31
+ mysql -u[username] [database-name] < my-database.sql
+                               ~
The '<' operator is reserved for future use.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported

Eu acabo usando este comando.

> type my-database.sql | mysql -u[username] -h[localhost] -p [database-name]

e funciona perfeitamente, espero que ajude.

Graças a answer @ btw.


Eu acho que vale a pena mencionar que você também pode carregar um arquivo gzipado (compactado) com zcat como mostrado abaixo:

zcat database_file.sql.gz | mysql -u username -p -h localhost database_name

Experimentar:

mysql -u username -p database_name < file.sql

Verifique as opções do MySQL .

Nota-1: É melhor usar o caminho completo do arquivo SQL file.sql .

Nota-2: Use -R e --triggers para manter as rotinas e gatilhos do banco de dados original. Eles não são copiados por padrão.

Note-3 Você pode ter que criar o banco de dados (vazio) a partir do mysql se ele já não existe e o SQL exportado não contém CREATE DATABASE (exportado com a opção --no-create-db ou -n ), antes de você pode importá-lo.


O comando a seguir funciona para mim a partir da linha de comando (cmd) no Windows 7 no WAMP .

d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql

Para fins de backup, crie um arquivo BAT e execute esse arquivo BAT usando o Agendador de Tarefas . Será necessário um backup do banco de dados; basta copiar a seguinte linha e colar no Notepad e, em seguida, salve o arquivo .bat e executá-lo em seu sistema.

@echo off
for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i

"C:\Program Files\MySQL\mysql server 5.5\bin\mysqldump" -u username -ppassword mysql>C:/%DATE_DAY%_%DATE_TIME%_database.sql

Para importar um único banco de dados, use o seguinte comando.

mysql -u username -p password dbname < dump.sql

Para importar vários despejos de banco de dados, use o seguinte comando.

mysql -u username -p password < dump.sql

Para obter informações, eu só tinha raiz padrão + sem senha, não funciona com todas as respostas acima.

  • Eu criei um novo usuário com todos os privilégios e uma senha. Funciona.

  • -ppassword SEM ESPAÇO.


Podemos usar este comando para importar o SQL a partir da linha de comando:

mysql -u username -p password db_name < file.sql

Por exemplo, se o nome de usuário for root e senha for password . E você tem um nome de bank dados como bank e o arquivo SQL é bank.sql . Então, simplesmente faça assim:

mysql -u root -p password bank < bank.sql

Lembre-se de onde está o seu arquivo SQL. Se o seu arquivo SQL estiver na pasta / diretório Desktop , vá para o diretório desktop e insira o comando da seguinte forma:

~ ? cd Desktop
~/Desktop ? mysql -u root -p password bank < bank.sql

E se você estiver no diretório Project e seu arquivo SQL estiver no diretório Desktop . Se você quiser acessá-lo a partir do diretório Project , você pode fazer assim:

~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql

Se você já tiver o banco de dados, use o seguinte para importar o dump ou o arquivo sql

mysql -u username -p database_name < file.sql

se você não precisa criar o banco de dados relevante (vazio) no MySQL, para o primeiro logon no console do MySQL , executando o seguinte comando no terminal ou no cmd

mysql -u userName -p;

e quando solicitado, forneça a senha.

Em seguida, crie um banco de dados e use-o

mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;

Em seguida, importe o arquivo sql ou dump para o banco de dados

mysql> source pathToYourSQLFile;

Nota: se o seu terminal não estiver no local onde o arquivo dump ou sql existe, use o caminho relativo acima.


Similarmente a https://.com/a/17666285/1888983
Principais diferenças para mim:

  1. O banco de dados deve existir primeiro
  2. Nenhum espaço entre -p e a senha
shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql

Executando o fedora 26 com o MariaDB.


Uma solução que funcionou para mim está abaixo:

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;

Vá para o diretório onde você tem o MySQL.

 c:\mysql\bin\> mysql -u username -p password database_name <
 filename.sql

Além disso, para descarregar todos os bancos de dados, use a opção -all-databases , e nenhum nome de banco de dados precisa ser especificado.

mysqldump -u username -ppassword all-databases > dump.sql

Ou você pode usar alguns clientes da GUI, como o SQLyog, para fazer isso.


Você não precisa especificar o nome do banco de dados na linha de comandos se o arquivo .sql contiver CREATE DATABASE IF NOT EXISTS db_name e USE db_name .

Apenas certifique-se de estar se conectando a um usuário que tenha as permissões para criar o banco de dados, se o banco de dados mencionado no arquivo .sql não existir.


mysql --user=[user] --password=[password] [database] < news_ml_all.sql




import