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.sql
te gebruiken.
Note-2: Gebruik -R
en --triggers
om 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-db
of -n
OPTIE), 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 = true
is. 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 root
is en het wachtwoord password
is. En je hebt een databasenaam als bank
en 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 Desktop
bevindt, 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 dump
of het sql
bestand 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 dump
of sql
bestaat, gebruik dan het relatieve pad hierboven.
Antwoord 8
- Open de MySQL-opdrachtregel
- Typ het pad van uw mysql bin-map en druk op Enter
- Plak uw SQL-bestand in de map
bin
van de mysql-server. - Maak een database in MySQL.
- Gebruik die specifieke database waarin u het SQL-bestand wilt importeren.
- Typ
source databasefilename.sql
en Enter - 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. -u
voor gebruikersnaam en -p
om 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 zcat
zoals 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_name
en USE db_name
Verklaringen 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
-
Ga naar Drive:
command: d:
-
MySQL Login
command: c:\xampp\mysql\bin\mysql -u root -p
-
Het vraagt om PWD. Voer het in:
pwd
-
Selecteer de database
use DbName;
-
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-databases
en 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 mysqldump
ook. Dus terwijl de opdrachten voor export en import anders zijn, zijn de genoemde parameters niet.
Antwoord 23
Voeg de --force
optie :
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:
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 xampp
met mamp
of 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:
- De database moet eerst bestaan
- Geen spatie tussen
-p
en 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.