Debian MySQL: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
Zeile 50: | Zeile 50: | ||
Order deny,allow | Order deny,allow | ||
Deny from all | Deny from all | ||
Allow from 192.168.0.0/255.255.255.0 | Allow from '''192.168.0.0'''/255.255.255.0 | ||
</Directory> | </Directory> | ||
Apache neu starten: | Apache neu starten: | ||
/etc/init.d/apache2 restart | /etc/init.d/apache2 restart | ||
==Backup und Restore== | ==Backup und Restore== |
Version vom 11. Dezember 2010, 07:30 Uhr
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:
PHPmyAdmin nur lokal erreichbar
Aus Sicherheitsgründen sollte PHPmyAdmin nur lokal erreichbar sein.
vi /etc/apache2/sites-enabled/000-default
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>
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
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