Flytta MySQL datadir till annan plats i Ubuntu (Debian)
Skriven: 07/07/2010 | Av: samuel | Tags: Linux, MySQLUnder olika omständigheter så är det lämpligt att flytta platsen där alla databaser sparas av MySQL, det kan vara att man har slut på diskutrymme och vill flytta till annan partition, en annan anledning kan vara att man vill flytta in databaserna i en krypterad katalog.
Datadir definieras i /etc/mysql/my.cnf och där ser vi att default så pekar den mot “datadir = /var/lib/mysql”.
Det finns nu två sätt vanliga sätt att flytta katalogen, det ena är att peka om default sökvägen, det andra är att göra en “mount –bind” för att bibehålla sökvägen men samtidigt peka mot en annan plats. Jag valde att köra en mount, nackdelen här är att jag måste mounta innan mysql startar varje gång, fördelen är att vid en uppgradering så behöver jag inte ändra my.cnf. Jag startar inte mysql automatiskt vid uppstart av datorn så för mig är det ok. Det är även lätt att lägga in ett mount script i startup eller använda sig av /fstab. ln -s bortser jag helt ifrån då jag har förstått det som att prestandan påverkas för mycket av ln, då disken behöver göra en extra läsning. Databaser är I/O intensiva..
- Skapa mount katalog
sudo mkdir /mysqlData - Stoppa och flytta databasfiler
sudo stop mysql
sudo mv /var/lib/mysql /mysqlData
sudo mkdir /var/lib/mysql - Mounta ny katalog
sudo mount –bind /mysqlData /var/lib/mysql
sudo mysql start
Woala! Så enkelt är det.. och nu skall det rocka på under sin nya plats.
Kommentera inlägget »