Raspberry Pi – MySQL-Server installieren und optimieren

Die Installation eines MySQL-Servers auf dem Raspberry Pi ist sehr einfach. Das verwendete Raspbian ist ein speziell für den Raspberry Pi angepasstes Debian und verhält sich auch so.

Installation MySQL-Server auf dem Raspberry Pi

Der MySQL-Server wird mittels apt installiert. Die Installation erfolgt als Benutzer root oder mit sudo. Dies geschieht mit folgenden Zeilen:

apt-get update
apt-get install mysql-server

Bei der Installation muss das Passwort für den MySQL-ROOT Benutzer vergeben werden. Dies sollte ein entsprechen starkes Passwort sein ausserdem sollten wir uns dies merken oder notieren. Das Passwort ist für die spätere administrative Verwaltung des MySQL-Servers wichtig.

Optimierung des MYSQL-Servers für den Raspberry Pi

Nachdem der MySQL-Server installiert ist, werden wir feststellen, dass dieser einige Ressourcen von unsere Raspberry Pi verschlingt. Dies liegt daran, dass der MySQL-Server noch mit der default Konfiguration gestartet ist.

Wir können diese Konfiguration nun auf unser „kleines“ System optimieren. Dazu werden von Haus aus gleich ein paar Beispiele mitgeliefert. Wir müssen also nur unsere Konfiguration durch ein passendes Beispiel ersetzen. 

Die Konfiguration des MySQL-Server erfolgt in der Datei /etc/mysql/my.cnf. Zuerst fertigen wir von unser Konfiguration ein Backup an.

mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bakup

Dann kopieren wir das Beispiel für einen kleinen Server an diese Stelle.

cp /usr/share/doc/mysql-server-5.5/examples/my-small.cnf /etc/mysql/my.cnf

Da der Raspberry Pi alle Daten auf seiner SD-Card ablegt und die Geschwindigkeit der Schreib/Leses-Zugriffe entsprechend gering ausfällt lohnt es sich für den MySQL-Server einen kleinen Query-Cache zu aktivieren. Dies beschleunigt die Auslieferung der Ergebnisse, da diese solange sich diese nicht geändert haben im RAM zwischengespeichert werden und die Abfrage nicht jedes Mal erneut ausgeführt wird. Dazu setzen wir die Variable query_cache_size auf z.B. 4MB.

Dazu öffnen wir die Datei /etc/mysql/my.cnf

vi /etc/mysql/my.cnf

und fügen die Variable unterhalb von [mysqld] ein:

query_cache_size = 4M

So sollte das Ergebnis in etwa aussehen.

[mysqld]
port		= 3306
socket		= /var/run/mysqld/mysqld.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
# enable query_cache
query_cache_size = 4M

Die Größe des Query Caches kann auch größer gewählt werden, mit dieser Einstellung hat man aber erstmal ein solide Grundlage um den MySQL-Server seinen Bedürfnissen anzupassen. Wunder sollte man aber keine erwarten der Raspberry Pi ist nicht für seine Performance bekannt :D

Nach jeder Änderung in dieser Datei muss der Server neu gestartet werden um die Änderungen zu übernehmen.

service mysql restart

Es lohnt wie immer ein Blick in die Dokumentation vom MySQL.

7 Kommentare

    1. Hallo,

      da habe ich leider keinen da um das mal zu testen. Du kannst auch einfach Deine Anwendung eine Weile laufen lassen und dann das Tool von http://mysqltuner.com/ ausführen. Der mysqltuner zeigt Dir dann die entsprechenden Variablen die Du optimieren musst (kannst).
      Mit ein wenig probieren und testen findest Du so sicher den optimalen Kompromiss zwischen Performance und Ressourcenschonung.
      Du kannst Deine Erkenntnisse auch gern hier mitteilen.

  1. Hallo und erst mal ein Dankeschön für diese Anleitung…..

    …. aber jetzt mal eine Frage von einem Noob:

    wenn ich die Zeile im Verzeichnis my.cnf geändert hab, wie speicher ich diese dann ab ?

    mfg

    1. Hallo marquess,

      einfach im vim

      esc-taste:wq

      eingeben und die Datei wird geschlossen und gespeichert. Mann kann auch jeden anderen Editor wie z.B. nano verwenden.
      Eine kleine Kurzdokumentation zu den Tastenkombinationen in vim gibts z.B. hier.

  2. Hallo,

    ich habe ein kleines Problem. Bei der Installation werde ich nicht aufgefordert das MySQL root Passwort zu setzen. Ohne Passwort kann ich mich auch nicht anmelden.
    Ich habe auch schon versucht das Passwort zu ändern, indem ich den MySQL Server im Abgesicherten Modus starte. Allerdings hat das auch nicht geholfen.

    1. Es wird kein Passwort mehr gesetzt in der aktuellen Version.
      Zugriff auf die Datenbank bekommst du nur als Administrator z.B. mit
      $ sudo su
      $ mysql -u root -p
      jetzt Passwort leer lassen und einfach enter. Nun kann ein neues Passwort auf der mysql Console gesetzt werden

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.