sql >> Database >  >> RDS >> Mysql

Een database importeren via de opdrachtregel

Als u niet bekend bent met het gebruik van SSH, is het gemakkelijker om een ​​database te importeren met Adminer. Als uw database echter erg groot is (bijvoorbeeld meer dan 1 GB), kan het gemakkelijker zijn om een ​​database te importeren met MySQL vanaf de opdrachtregel.

Deze instructies gaan ervan uit dat u uw database hebt geëxporteerd met behulp van de opdrachtregel, maar zal werken met elk database-exportbestand dat eindigt op .sql of .sql.gz .

Als u het bestand met uw database-exportbestand nog niet naar uw server hebt gekopieerd, moet u eerst SFTP gebruiken om het naar uw server te kopiëren. Je moet het bestand naar de server SFTP met dezelfde systeemgebruiker die eigenaar is van de app.

SSH vervolgens naar uw server als dezelfde gebruiker die u gebruikte om het bestand naar uw server te SFTP.

Als je eenmaal bent ingelogd via SSH, wil je naar de map navigeren waar je je database hebt geüpload of geëxporteerd. Als u onze handleiding voor het exporteren van uw database via de opdrachtregel hebt gevolgd, bevindt uw database-exportbestand zich in de map waarin u de mysqldump hebt uitgevoerd opdracht. Tenzij u de directory hebt gewijzigd nadat u zich via SSH hebt aangemeld, is dit de directory van uw ServerPilot-systeemgebruiker:/srv/users/SYSUSER , met SYSUSER uw werkelijke systeemgebruiker zijn.

Het juiste commando om de database te importeren hangt af van de bestandsextensie van de geëxporteerde databasedump.

Als het bestand eindigt op .sql.gz , gebruik de volgende opdracht om het bestand te importeren, waarbij DB_NAME is de naam van een bestaande database waarin u de export wilt importeren en DB_USER is uw database gebruikersnaam die is gekoppeld aan die database:

zcat DB_NAME.sql.gz | mysql --password --user DB_USER DB_NAME

Als het bestand eindigt op slechts .sql (er is geen .gz ), gebruik de volgende opdracht om het bestand te importeren:

cat DB_NAME.sql | mysql --password --user DB_USER DB_NAME

De hierboven gegeven importcommando's gaan ervan uit dat u zich in dezelfde map bevindt als waar het database-exportbestand zich bevindt. Als u zich niet in dezelfde map bevindt, moet u het volledige pad opgeven (bijv. /srv/users/SYSUSER/some-directory/DB_NAME.sql.gz ) naar het database-exportbestand in de opdracht.

Zodra u een van de bovenstaande opdrachten uitvoert, wordt u om het wachtwoord van de databasegebruiker gevraagd. Nadat u het juiste wachtwoord heeft ingevoerd, begint het importproces. Als de database vrij groot is, kan het even duren voordat deze is voltooid. Er wordt geen uitvoer geretourneerd als het importeren is gelukt en u keert terug naar de opdrachtprompt waar u opnieuw opdrachten kunt invoeren.

Opmerking :De MySQL-gebruikersnaam en het wachtwoord zijn niet hetzelfde als het systeemgebruikerswachtwoord dat u hebt gebruikt voor SSH naar uw server. Als u het wachtwoord van uw databasegebruiker niet meer weet, kunt u onze handleiding hier volgen om het opnieuw in te stellen.


  1. Getallen opmaken in wetenschappelijke notatie in Oracle

  2. Bindvariabelen gebruiken met dynamische SELECT INTO-clausule in PL/SQL

  3. IGNORE_DUP_KEY langzamer op geclusterde indexen

  4. INNER JOIN gebruiken om SQL Server-tabellen te combineren en weer te geven in ASP.NET-webformulieren