Standaard DirectAdmin installatie plaatsen de MySQL data map in /var/lib/mysql. In deze map staan alle database gegevens en de omvang hiervan groeit naarmate meer gebruik gemaakt wordt van de database. Met behulp van dit artikel kan je de MySQL data map naar een nieuwe locatie verplaatsen. Dit is handig als je een /home partitie hebt waar de meeste vrije ruimte is (of een andere partitie).
Vereisten
- We gaan van CentOS uit, andere systemen werken mogelijk met een kleine aanpassing.
- Maak een backup van MySQL. Tip: gebruik onze backup dienst.
- Als je de commando's niet als root draait, gebruik sudo.
- rsync. Dit kan je installeren met de volgende commando:
yum install rsync -y
Stap 1 - Kies de nieuwe locatie
Onze CentOS templates plaatst /home in de / partitie. Mocht je toch een /home partitie hebben, dan kan je het beste daar de data naar toe verplaatsen. Mak de map /home/mysql met de volgende commando:
mkdir /home/mysql
Stap 2 - Stop MySQL
systemctl stop mysqld
Stap 3 - Verplaats de data
rsync -av /var/lib/mysql/ /home/mysql/ mv /var/lib/mysql /var/lib/mysql_backup
Stap 4 - Configureer MySQL
Open /etc/my.cnf en bewerk (of voeg toe) de volgende instellingen in de [mysqld] sectie:
datadir=/home/mysql socket=/home/mysql/server.sock
Stap 5 - Start MySQL
systemctl start mysqld
Controleer of MySQL werkt. Gebruik de volgende commando om te controleren of de juiste data map wordt gebruikt:
mysql -u root -p select @@datadir;
Deze zou /home/mysql moeten geven.
Stap 6 - Verwijder de oude data map
Als MySQL een aantal dagen zonder problemen heeft gedraaid, dan kan je met behulp van de volgende commando de oude data map verwijderen.
rm -rf /var/lib/mysql_backup