Hoe importeer ik een SQL-bestand met de opdrachtregel in MySQL?

Ik heb een .sql-bestand met een export van phpMyAdmin. Ik wil het in een andere server importeren met behulp van de opdrachtregel.

Ik heb een Windows Server 2008 r2-installatie. Ik plaatste de .sql-bestand op de C-station , en ik probeerde deze opdracht

database_name < file.sql

het werkt niet. Ik krijg syntaxisfouten.

  • Hoe kan ik dit bestand zonder probleem importeren?
  • Moet ik eerst een database maken?

Antwoord 1, Autoriteit 100%

Probeer:

mysql -u username -p database_name < file.sql

Controle MySQL-opties .

Note-1: Het is beter om het volledige pad van het SQL-bestand file.sqlte gebruiken.

Note-2: Gebruik -Ren --triggersom de routines en triggers van de originele database te behouden. Ze worden standaard niet gekopieerd.

Note-3 Mogelijk moet je de (lege) database van MySQL maken als het niet al bestaat en de geëxporteerde SQL niet bevatten CREATE DATABASE( Geëxporteerd met --no-create-dbof -nOPTIE), voordat u deze kunt importeren.


Antwoord 2, Autoriteit 20%

een gemeenschappelijk gebruik van mysqldump is voor het maken van een back-up van een volledige database:

shell> mysqldump db_name > backup-file.sql

U kunt het dump-bestand weer in de server laden:

unix

shell> mysql db_name < backup-file.sql

hetzelfde in Windows opdrachtprompt:

mysql -p -u [user] [database] < backup-file.sql

Powershell

C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

MySQL-opdrachtregel

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

Antwoord 3, Autoriteit 9%

Wat betreft de tijd voor het importeren van enorme bestanden: het belangrijkste is dat het meer tijd kost omdat de standaardinstelling van MySQL autocommit = trueis. U moet dat uitstellen voordat u uw bestand importeert en vervolgens controleren hoe import werkt als een edelsteen.

U hoeft alleen maar het volgende te doen:

mysql> use db_name;
mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;

Antwoord 4, Autoriteit 4%

Onder alle antwoorden, voor het bovenstaande probleem, dit is de beste:

mysql> use db_name;
 mysql> source file_name.sql;

Antwoord 5, Autoriteit 2%

Makkelijkste manier om in uw schema te importeren:

Inloggen op MySQL en uitgave onder vermeldopdrachten.

mysql> use your_db_name;
mysql> source /opt/file.sql;

Antwoord 6, autoriteit 2%

We kunnen deze opdracht gebruiken om SQL vanaf de opdrachtregel te importeren:

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

Bijvoorbeeld, als de gebruikersnaam rootis en het wachtwoord passwordis. En je hebt een databasenaam als banken het SQL-bestand is bank.sql. Doe het dan als volgt:

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

Onthoud waar uw SQL-bestand is. Als uw SQL-bestand zich in de map/directory Desktopbevindt, gaat u naar de desktopdirectory en voert u de opdracht als volgt in:

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

En als u zich in de Project-directory bevindt en uw SQL-bestand in de Desktop-directory. Als u het wilt openen vanuit de Project-directory, kunt u dit als volgt doen:

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

Antwoord 7, autoriteit 2%

Als je de database al hebt, gebruik dan het volgende om het dumpof het sqlbestand te importeren:

mysql -u username -p database_name < file.sql

Als u dat niet doet, moet u de relevante database (leeg) in MySQL maken, daarvoor logt u eerst in op de MySQL-console door de volgende opdracht uit te voeren in terminal of in cmd

mysql -u userName -p;

En geef het wachtwoord op wanneer daarom wordt gevraagd.

Maak vervolgens een database en gebruik deze:

mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;

Importeer vervolgens het sql– of het dump-bestand naar de database vanuit

mysql> source pathToYourSQLFile;

Opmerking: als uw terminal zich niet op de locatie bevindt waar het bestand dumpof sqlbestaat, gebruik dan het relatieve pad hierboven.


Antwoord 8

  1. Open de MySQL-opdrachtregel
  2. Typ het pad van uw mysql bin-map en druk op Enter
  3. Plak uw SQL-bestand in de map binvan de mysql-server.
  4. Maak een database in MySQL.
  5. Gebruik die specifieke database waarin u het SQL-bestand wilt importeren.
  6. Typ source databasefilename.sqlen Enter
  7. Uw SQL-bestand is succesvol geüpload.

Antwoord 9

Een oplossing die voor mij werkte, staat hieronder:

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;

Antwoord 10

Gebruik de volgende opdracht om een database in een SQL-bestand te dumpen.

mysqldump -u username -p database_name > database_name.sql

Om een SQL-bestand in een database te importeren (zorg ervoor dat u zich in dezelfde map bevindt als het SQL-bestand of geef het volledige pad naar het bestand op), doe het volgende:

mysql -u username -p database_name < database_name.sql

Antwoord 11

Ga naar de map waar u het MySQL-uitvoerbare bestand hebt. -uvoor gebruikersnaam en -pom om het wachtwoord te vragen:

C:\xampp\mysql\bin>mysql -u username -ppassword databasename < C:\file.sql

Antwoord 12

Ik denk dat het het vermelden waard is dat je ook een gzipped (gecomprimeerd)bestand kunt laden met zcatzoals hieronder getoond:

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

Antwoord 13

Gebruik de volgende opdracht om een enkele database te importeren.

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

Gebruik de volgende opdracht om meerdere databasedumps te importeren.

mysql -u username -p password < dump.sql

Antwoord 14

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

Antwoord 15

Voor het exporteren van een database:

mysqldump -u username -p database_name > file.sql

Voor het importeren van een database:

mysql -u username -p database_name < file.sql

Antwoord 16

Gebruik dit om meerdere SQL-bestanden tegelijk te importeren:

# Unix-based solution
for i in *.sql;do mysql -u root -pPassword DataBase < $i;done

Voor eenvoudige importeren:

# Unix-based solution
mysql -u root -pPassword DataBase < data.sql

voor wamp :

#mysqlVersion replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql

voor xampp:

C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql

Antwoord 17

U hoeft niet de naam van de database op de opdrachtregel op te geven als het .SQL-bestand CREATE DATABASE IF NOT EXISTS db_nameen USE db_nameVerklaringen gebruiken.

Zorg ervoor dat u verbinding maakt met een gebruiker met de machtigingen om de database te maken, als de database vermeld in het .SQL-bestand niet bestaat.


Antwoord 18

Importeer een database

  1. Ga naar Drive:

    command: d:
    
  2. MySQL Login

    command: c:\xampp\mysql\bin\mysql -u root -p
    
  3. Het vraagt ​​om PWD. Voer het in:

    pwd
    
  4. Selecteer de database

    use DbName;
    
  5. Geef de bestandsnaam

    \.DbName.sql
    

Antwoord 19

Gebruik:

mysql -u root -p password -D database_name << import.sql

Gebruik de MySQL-hulp voor details – mysql --help.

Ik denk dat dit nuttige opties zullen zijn in onze context:

[~]$ mysql --help
mysql  Ver 14.14 Distrib 5.7.20, for osx10.12 (x86_64) using  EditLine wrapper
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Usage: mysql [OPTIONS] [database]
  -?, --help          Display this help and exit.
  -I, --help          Synonym for -?
  --bind-address=name IP address to bind to.
  -D, --database=name Database to use.
  --delimiter=name    Delimiter to be used.
  --default-character-set=name Set the default character set.
  -f, --force         Continue even if we get an SQL error.
  -p, --password[=name] Password to use when connecting to server.
  -h, --host=name     Connect to host.
  -P, --port=#        Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306).
  --protocol=name     The protocol to use for connection (tcp, socket, pipe,
  -s, --silent        Be more silent. Print results with a tab as separator, each row on new line.
  -v, --verbose       Write more. (-v -v -v gives the table output format).
  -V, --version       Output version information and exit.
  -w, --wait          Wait and retry if connection is down.

Wat is leuk, als we een grote database importeren en geen voortgangsbalk hebben. Gebruik Pipe Viewer en zie de gegevensoverdracht via de pijp

voor Mac, brew install pv

Voor Debian/Ubuntu, apt-get install pv.

Voor anderen, zie pv – Pipe Viewer

pv import.sql | mysql -u root -p password -D database_name
1.45GiB 1:50:07 [339.0KiB/s]   [=============>      ] 14% ETA 11:09:36
1.46GiB 1:50:14 [ 246KiB/s]     [=============>      ] 14% ETA 11:09:15
1.47GiB 1:53:00 [ 385KiB/s]     [=============>      ] 14% ETA 11:05:36

Antwoord 20

Gebruik de volgende opdracht om een database te importeren.

 mysql> create new_database;
  mysql> use new_database;
  mysql> source (Here you need to import the path of the sql file);
 eg:
  mysql> source E:/test/dump.sql;

U moet slashes (/) gebruiken, zelfs in Windows, b.v. E:/test/dump.sql in plaats van E:\test\dump.sql

Of dubbele backslashes (\\) vanwege escape, bijv. E:\\test\\dump.sql


Antwoord 21

Ga naar de map waar je MySQL hebt.

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

Ook om alle databases te dumpen, gebruikt u de optie -all-databasesen hoeft er geen databasenaam meer te worden opgegeven.

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

Of je kunt een aantal GUI-clients zoals SQLyog gebruiken om dit te doen.


Antwoord 22

Terwijl de meeste antwoorden hier alleen de eenvoudige opdracht vermelden

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

Vandaag is het vrij gebruikelijk dat databases en tabellen UTF8-collatie hebben waar deze opdracht niet voldoende is.
Met UTF8-collatie in de geëxporteerde tabellen is het vereist om deze opdracht te gebruiken:

MySQL -U Database_User-P – VanFault-Character-Set = UTF8 [DB_NAME] & LT; database_file.sql

SURLEY Dit werkt ook voor andere charsets, hoe de juiste notatie te laten zien, is hier te zien:

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

Eén opmerking vermeldde ook dat als een database nooit een lege database bestaat, eerst moest worden gemaakt. Dit kan in sommige gevallen gelijk zijn, maar hangt af van het exportbestand. Als het geëxporteerde bestand al de opdracht bevat om de database te maken, hoeft de database nooit te worden gemaakt in een gescheiden stap, die zelfs een fout op import kan veroorzaken. Dus in Import, het is raadzaam om eerst in het bestand te kijken in het bestand om te weten welke opdrachten daar zijn opgenomen, op export is het aangeraden opmerking de instellingen, vooral als het bestand erg groot is en moeilijk te lezen is in een editor.

Er zijn nog meer parameters voor de opdracht die hier wordt vermeld en uitgelegd:

https://dev.mySQL.com /DOC/REFMAN/5.7/EN/MYSQL-COMMAND-Ontions.html

Als u een andere database-versie gebruikt, overweeg dan ook naar de bijbehorende versie van de handleiding. De genoemde koppelingen verwijzen naar MySQL-versie 5.7.

bewerken:
Dezelfde parameters werken voor mysqldumpook. Dus terwijl de opdrachten voor export en import anders zijn, zijn de genoemde parameters niet.


Antwoord 23

Voeg de --forceoptie :

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

Antwoord 24

U kunt deze query proberen.

Exporteren:

mysqldump -u username –-password=your_password database_name > file.sql

Importeren:

mysql -u username –-password=your_password database_name < file.sql

en detail na deze link:

https : //Kartio.com/resources/tutorials/importing-from-and-Exporting-to-files-using-the-mysql-command-line/


Antwoord 25

De volgende opdracht werkt voor mij vanaf de opdrachtregel (CMD) op
Windows 7 op Wamp .

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

Antwoord 26

Ik dacht dat het nuttig zou kunnen zijn voor degenen die mac & nbsp; os & nbsp; x :

/Applications/xampp/xamppfiles/bin/mysql -u root -p database < database.sql

Vervang xamppmet mampof andere webservers.


Antwoord 27

Inloggegevens op de opdrachtregel verschaffen is geen goed idee. De bovenstaande antwoorden zijn geweldig, maar verwaarlozen om

te vermelden

mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql

Waar etc/myhost.cnf een bestand is dat host, gebruiker en wachtwoord bevat, en u vermijdt het wachtwoord op de opdrachtregel te tonen. Hier is een voorbeeld,

[client]
host=hostname.domainname
user=dbusername
password=dbpassword

Antwoord 28

Importeren in de database:

mysql -u gebruikersnaam -p database_name < /bestandspad/bestandsnaam.sql

Exporteren uit de database:

mysqldump -u gebruikersnaam -p database_name > /bestandspad/bestandsnaam.sql

Na deze opdrachten zal een prompt om uw MySQL-wachtwoord vragen.


Antwoord 29

Vergelijkbaar met Vladkras’ antwoord op Hoe importeer je een SQL-bestand met behulp van de opdrachtregel in MySQL?.

Belangrijkste verschillen voor mij:

  1. De database moet eerst bestaan
  2. Geen spatie tussen -pen het wachtwoord

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

Ik draai Fedora 26 met MariaDB.


Antwoord 30

Ter informatie, ik had gewoon de standaard root + zonder wachtwoord. Het werkte niet met alle eerdere antwoorden.

  • Ik heb een nieuwe gebruiker aangemaakt met alle rechten en een wachtwoord. Het werkte.

  • -ppassword ZONDER SPATIE.

Other episodes