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
Sorry, the comment form is closed at this time.