seeseekey.net - Invictus Deus Ex Machina

Wenn man auf einem Server eine bestehende MySQL Datenbank einspielen möchte, so kann man natürlich auf Softwarepakete wie phpMyAdmin zurückgreifen. Problematisch wird das ganze immer dann, wenn die einzuspielende Datenbank größer ist oder auf dem Server kein Webserver mit installiertem PHP vorhanden ist.

Für solche Fälle gibt es die MySQL Kommandozeile (“mysql”). Existiert die Datenbank noch nicht, so sollte im ersten Schritt mittels “mysql” eine Datenbank und ein Nutzer erstellt werden:

mysql> CREATE DATABASE datenbankname;
mysql> GRANT ALL PRIVILEGES ON datenbankname.* TO nutzername@localhost IDENTIFIED BY 'geheim';
mysql> quit

Anschließend kann der Dump in die neu angelegte Datenbank eingespielt werden:

mysql -u root -p<Passwort> datenbankname < dump.sql

Alternativ kann die Datenbank anstatt mit “root” auch mit dem neu angelegten Nutzer importiert werden.

1 Kommentar

  1. Pingback: Nginx Server mit PHP und MySQL unter Ubuntu aufsetzen | seeseekey.net

  2. Wenn man mal das Passwort nicht zur Hand hat oder nicht eingeben will gibt es übrigens noch eine nette (afaik undokumentierte Möglichkeit) mysql aufzurufen.

    Man Konfigurations-daten in einer .cnf-Datei hinterlegen, die ungefähr so aussieht:

    #myconf.cnf
    [client]
    host = localhost
    user = root
    password = 87sadfghdsgh4
    socket = /var/run/mysqld/mysqld.sock

    Gerade in skriptgesteuerten Mysql-operationen kann der Aufruf nun so aussehen:
    mysql --defaults-extra-file=myconf.cnf datenbankname < dump.sql

    Auf Debians kann man für Skripte mit root-Rechten auch gleich das hier nehmen:
    mysql --defaults-extra-file=/etc/mysql/debian.cnf ...

    Das ganze geht natürlich genau so mit mysqldump.

    Antworten

  3. Pingback: Nginx Server mit PHP und MySQL unter Ubuntu aufsetzen | seeseekey.net

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.