Debian MySQL: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
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. | 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]]). | '''Voraussetzung:''' Lauffähiger Webserver mit PHP-Erweiterung([[Debian_Apache2|Apache2 und PHP5]]). | ||
apt-get install mysql-server mysql-client | apt-get install mysql-server mysql-client | ||
Zeile 41: | Zeile 41: | ||
[[Bild:Screenshot phpmyadmin.jpg]] | [[Bild: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== | ==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 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: | Um die Datenbank '''''Database''''' zu sichern (in Datei '''''/pfad/database.sql'''''), folgenden Befehl eingeben: | ||
mysqldump -u root -p '''''Database''''' -c > '''''/pfad/database.sql | mysqldump -u root -p '''''Database''''' -c > '''''/pfad/database.sql''''' | ||
Um das File zusätzlich zu komprimieren: | Um das File zusätzlich zu komprimieren: | ||
mysqldump -u root -p '''''Database''''' -c | gzip -9 > '''''/pfad/database.sql.gz''''' | mysqldump -u root -p '''''Database''''' -c | gzip -9 > '''''/pfad/database.sql.gz''''' | ||
Zeile 53: | Zeile 76: | ||
{{ | {{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 |
Aktuelle Version vom 15. Mai 2015, 12:15 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
- 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
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