hanseflow - Unternehmensberatung für Salesforce

Lernen Sie uns kennenLernen Sie uns kennen

Um die Perfomance von MySQL zu erhöhen, kann man diesen temporär in den RAM laden. Das MySQL to Ram Verfahren ist jedoch gefährlich, also beachtet bitte ggf. Gefahren.

Wir reservieren 2 Gigabyte Speicher für ramfs und mounten das Filesystem.

sudo mkdir mkdir /tmp/ramfs
sudo mount -t ramfs -o size=2G ramfs /tmp/ramfs/

Nun ist das RAM-Filesystem erstmal gemountet und kann mit Daten gefüttert werden. Um nun die Auslastung auf ramfs zu übertragen müssen wir den MySQL erstmal stoppen und umlagern. Dazu den Service stoppen, per cp kopieren und die Rechte übertragen.

sudo /etc/init.d/mysql stop 
sudo cp -R /var/lib/mysql /tmp/ramfs/
sudo chown -R mysql:mysql /tmp/ramfs/mysql

Nun müssen die Änderungen natürlich noch in der Config angepasst werden. Dazu einfach ein Kopie von der Config erstellen und dann editieren.

sudo cp /etc/mysql/my.cnf /etc/mysql/original-my.cnf
sudo nano /etc/mysql/my.cnf

Wichtig: Pfad zur Datadir ändern.

datadir = /tmp/ramfs/mysql

Durch das Verschieben müssen wir auch den Apparmor anpassen bzw. das Profil editieren.

 sudo nano /etc/apparmor.d/usr.sbin.mysqld 

Folgende Line’s müssen hinzugefügt werden:

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/ramfs/mysql/*.pid rw,

Hat es funktioniert? MySQL starten und ggf. AppArmor neustarten (wegen Veränderung des Profiles)

sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysql start

Über

"show variables like 'datadir';"

kann man alles nochmal überprüfen.

Keine Haftung für Datenverlust.

Quelle: http://askubuntu.com/questions/224/how-to-i-move-mysql-data-files-onto-different-partition, 25.07.12, 01:29 Uhr

No Comments

Sorry, the comment form is closed at this time.