it-swarm.com.de

Wie verwenden Sie den Quellbefehl von MySQL, um große Dateien in Windows zu importieren?

Ich habe eine große (~ 150 MB) SQL-Datei, die ich importieren möchte. Es ist zu groß, um es durch PHPMyAdmin zu erledigen, es sogar in viele Teile zu teilen, und es ist zu groß, um durch ein PHP-Skript importiert zu werden, da es nach 30 Sekunden der Verarbeitung des Skripts abläuft. Ich suche also, wie ich die Datei direkt von der MySQL-Befehlszeile importieren kann. 

Bei der Online-Suche wird angezeigt, dass ich entweder database_name < file_name.sql oder source file_name.sql verwenden möchte, aber ich bekomme keine davon, um zu funktionieren.

Wenn Sie < verwenden, wird der generische MySQL-Syntaxfehler angezeigt, während Sie source einen etwas aussichtsreicheren failed to open file 'file_name.sql', error: 2 verwenden.

Ich bin in Windows und verwende xampp als localhost-Server (Hinweis: Ich versuche nur, diese Datei auf dem localhost zu importieren, damit ich das SQL ausführen kann). Ich habe versucht, die Datei in xampp\mysql\bin und xampp\mysql\data\database_name zu platzieren.

Anregungen zum Importieren dieser .sql-Datei in MySQL entweder über die MySQL-Befehlszeile oder auf andere Weise wären sehr willkommen.

43
Daniel Nill

Ich denke, mit xampp müssen Sie den vollständigen Pfad in der Befehlszeile verwenden, etwa wie folgt:

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
52
Femi

Verwenden Sie nicht "source", da nur eine kleine Anzahl von sql queries ausgeführt und die Ausgabe angezeigt wird, nicht um große Datenbanken zu importieren.

Ich benutze Wamp Developer (nicht XAMPP), aber es sollte gleich sein.

Sie möchten den MySQL Client verwenden, um die Arbeit für Sie zu erledigen.

  1. Stellen Sie sicher, dass MySQL ausgeführt wird.
  2. Erstellen Sie Ihre Datenbank über phpMyAdmin oder den MySQL Shell.
  3. Führen Sie dann cmd.exe aus und wechseln Sie in das Verzeichnis, in dem sich Ihre sql-Datei Befindet.
  4. Ausführen: mysql -u root -p database_name_here < dump_file_name_here.sql
  5. Ersetzen Sie in Ihrem database name und dump file name.
  6. Geben Sie Ihren MySQL root account password ein, wenn Sie dazu aufgefordert werden (wenn kein Kennwort festgelegt wurde, entfernen Sie den Schalter "-p").

Dies setzt voraus, dass mysql.exe über den Umgebungspfad gefunden werden kann und sich die sql-Datei in dem Verzeichnis befindet, in dem Sie diese Datei ausführen. Verwenden Sie ansonsten vollständige Pfade.

34
rightstuff

Unter Windows sollte dies funktionieren (beachten Sie den Schrägstrich und der gesamte Pfad ist nicht in Anführungszeichen gesetzt und Leerzeichen sind zulässig)

USE yourdb;

SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;

32
Valentin Despa

Option 1. Sie können dies mit einem einzigen cmd tun, wobei D mein xampp- oder wampp-Installationsordner ist. Ich verwende dies, wo mysql.exe installiert wird und die zweite Option Datenbankname und die letzte SQL-Datei 

D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql

Option 1 für Wampp

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql

Ändern Sie Ihren Ordner und Ihre MySQL-Version

Option 2 Angenommen, Ihr aktueller Pfad zeigt die Eingabeaufforderung an 

C:\Users\shafiq;

Ändern Sie dann das Verzeichnis mit cd.. Gehen Sie dann in Ihr Mysql-Verzeichnis, in dem Ihre Xampp installiert ist. Dann cd.. für Verzeichnis wechseln. Gehen Sie dann in den Ordner "Bin".

C:\xampp\mysql\bin;

C:\xampp\mysql\bin\mysql -u {username} -p {database password}. Geben Sie dann bitte ein, wenn Sie in der Eingabeaufforderung die Eingabe des Passworts sehen. 

datenbank auswählen mit 

mysql->use test (where database name test) 

dann in Quell-SQL in Bin-Ordner.

dann wird der letzte Befehl sein 

mysql-> source test.sql (where test.sql is file name which need to import)

drücken Sie dann die Eingabetaste

Dies ist vollständiger Befehl  

C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
 mysql-> use test
 mysql->source test.sql
9
Shafiqul Islam
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql

Das hat für mich funktioniert, 400MB-Dateien in meine Datenbank zu importieren.

Für das Importieren einer großen SQL-Datei über die Befehlszeile in MySQL.

Gehen Sie zuerst zum Dateipfad in der Befehlszeile .

Option 1:

mysql -u {user_name} -p{password} {database_name}  < your_file.sql

Es gibt eine Warnmeldung: Die Verwendung eines Kennworts auf der Befehlszeilenschnittstelle kann unsicher sein.

Fertig.Ihre Datei wird importiert.

Option 2:

mysql -u {user_name} -p {database_name}  < your_file.sql

in diesem Fall geben Sie kein SQL-Kennwort ein. Dann wird nach dem Kennwort gefragt. Geben Sie einfach das Kennwort ein, und Ihre Datei wird importiert.

1
Ravindra Patel

Benutzername als root ohne Passwort

mysql -h localhost -u root databasename < dump.sql

Ich bin mit dem Problem auf meinem lokalen Host konfrontiert, da ich kein Passwort für den root-Benutzer habe. Sie können es ohne -p-Passwort wie oben verwenden. Wenn Sie nach einem Passwort gefragt werden, drücken Sie einfach die Eingabetaste.

1
Arjun s

In meinem Xampp-Setup konnte ich zum Importieren einer Datenbank in MySQL Folgendes verwenden: 

C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]

Meine persönlichen Erfahrungen auf meinem lokalen Computer waren wie folgt:
Nutzername: Wurzel
Name der Datenbank: Testdatenbank
SQL-Dateispeicherort: databasebackup.sql befindet sich auf meinem Desktop

C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

Das funktionierte für mich, um meine 1 GB + -Datei in meine Datenbank zu importieren. 

1
IamJuanValle

Hallo, ich hatte das gleiche Problem, aber ich habe viele verschiedene Zustände ausprobiert und bin darauf gekommen: SOURCE funktioniert nicht mit; am ende in meinem fall:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql;

und der fehler war:

ERROR: Unknown command '\B'. '> es funktionierte auch nicht mit einem Zitat für die Adresse. Aber es funktioniert ohne; Am Ende:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql

Denken Sie jedoch daran, USE Datenbankname zu verwenden. davor. Ich denke, es ist so, weil die SOURCE oder USE oder HELP für das MySQL selbst sind und sie keine solchen Abfragecodes sind, obwohl, wenn Sie HELP schreiben, es heißt:

"Beachten Sie, dass alle Textbefehle in der ersten Zeile stehen und mit; enden müssen".

aber hier funktioniert nicht.

Ich sollte sagen, dass ich es in CMD gemacht habe und es in Mysql Workbench nicht ausprobiert habe. Das war's

Dies ist das Ergebnis

0
Arash

verwenden Sie den Befehl mysql source, um Umleitungsfehler zu vermeiden, insbesondere unter Windows.

mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"

wo e für "Befehl ausführen"

Denken Sie unter Windows daran, für den SQL-Befehl ein doppeltes Anführungszeichen zu verwenden.

Backslash\oder Slash/funktionieren jedoch unter Windows.

0
cdarlint

Unter Windows: Navigieren Sie mit dem Explorer zu dem Ordner mit der .sql-Datei . Geben Sie cmd in die obere Adressleiste ein. Cmd öffnet sich . Typ:

"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"

Warten Sie ein wenig und die SQL-Datei wurde in Ihrer Datenbank ausgeführt .. Bestätigt, um mit MariaDB im Februar 2018 zu arbeiten.

0
ffactory