Debian MySQL

Aus Wiki
Zur Navigation springen Zur Suche springen

Installation

Für zahlreiche Webseitensysteme wie z.B. Foren, Wiki-System Mediawiki, Webmailer Roundcune, Web-Autorensystem Joomla usw. ist ein SQL-Server nötig. Gute Erfahrungen wurden mit MySQL gesammelt. Dieser kann relativ einfach installiert und koniguriert werden.

Zum reinen SQL-Server gibt es Admin-Werkzeuge, um User Anzulegen, Datenbanken anzulegen, Einstellungen zu treffen usw, die in einem Webbrowser laufen. Standard in diesem Bereich ist PHPmyAdmin, das hier ebenfalls installiert wird.

Voraussetzung: Lauffähiger Webserver mit PHP-Erweiterung(Apache2 und PHP5).

apt-get install mysql-server mysql-client

Während der Installation wird zur Eingabe eines root Passwortes (sql_root_pw') für den Datenbank-Administrator aufgefordert. Dieser User root sollte nicht dem Linux-Systemuser root verwechselt werden.

Installation weiterer Pakte, die vor allem in der Zusammenarbeit mit dem Webserver Apache nützlich sind:

apt-get install php5-mysql libmysqlclient15-dev

Installation des Webfrontends phpMyAdmin:

apt-get install phpmyadmin

Nach dem Download fragt ein Konfig-Script nach der Installationsmethode. Aus der Liste Apache2 wählen und mit enter bestätigen.

Damit phpMyAdmin für den Webserver erreichbar ist, folgenden Link anlegen:

ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

Konfiguration

Ändern der Konfigurationsdatei my.cnf:

vi /etc/mysql/my.cnf

Auskommentieren der folgenden Zeile (Kommentarzeichen # davorsetzen), damit der SQL-Server nicht nur vom lokalen Server (localhost) aus erreichbar ist:

#bind-address           = 127.0.0.1

MySQL neustarten:

/etc/init.d/mysql restart


MySQL testen

Webbrowser öffnen

Adresse http://IP-des-Servers/phpmyadmin

Einloggen mit Username root und Paßwort sql_root_pwd

Wenn folgende Seite erscheint, ist MySQL und PHPmyAdmin korrekt eingerichtet: Screenshot phpmyadmin.jpg


PHPmyAdmin nur lokal erreichbar

Aus Sicherheitsgründen sollte PHPmyAdmin nur lokal erreichbar sein.

vi /etc/apache2/sites-enabled/000-default
  • Apache2.2:

Im Bereich <VirtualHost> (vor </VirtualHost) folgende Zeilen einfügen:

    <Directory "/var/www/phpmyadmin">
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 192.168.0.0/255.255.255.0
    </Directory>
  • Apache2.4:

Im Bereich <VirtualHost> (vor </VirtualHost) folgende Zeilen einfügen:

    <Directory "/var/www/phpmyadmin">
        AllowOverride None
        Require ip 192.168
    </Directory>

Apache neu starten:

/etc/init.d/apache2 restart

Backup und Restore

Um eine Datenbank zu sichern, kommt der Befehl mysqldump zum Einsatz. Zusätzlich kann das Dump-File per gzip stark komprimiert werden. Um die Datenbank Database zu sichern (in Datei /pfad/database.sql), folgenden Befehl eingeben:

mysqldump -u root -p Database -c  > /pfad/database.sql

Um das File zusätzlich zu komprimieren:

mysqldump -u root -p Database -c | gzip -9 > /pfad/database.sql.gz

Um ein Backup wiederherzustellen (evtl vorher entpacken mit gunzip /pfad/database.sql.gz):

mysql -u root -p Database < /pfad/database.sql


Bulbgraph.png Hinweis:
Die mysqldump und mysql-Befehle fragen bei der Ausführung nach dem MySQL-Root-Passwort (siehe auch MySQL-Server Wiki)

.


Root Passwort zurücksetzen

Sollte man das Root-Passwort vergessen haben, kann es mit folgender Prozedur rückgesetzt werden:

  • MySQL anhalten:
/etc/init.d/mysql stop
  • MySQL ohne Grant-Tables starten:
mysqld --skip-grant-tables --user=root &

Enter nochmals betätigen, um den Prompt wieder anzuzeigen

  • Als User Root ohne Passwort einloggen:
mysql -u root
  • Neues Passwort new_pwd setzen:
UPDATE mysql.user SET Password=PASSWORD('new_pwd') WHERE User='root';
FLUSH PRIVILEGES;
exit
  • MySQL neu starten
/etc/init.d/mysql restart