Možná budete muset změnit datový adresář MySQL kvůli nedostatečnému prostoru na oddílu na /var nebo /root a změnit datový adresář na /home pro váš server včetně cPanelu. Může existovat i jiný důvod pro změnu datového adresáře.
Ve výchozím nastavení je datový adresář MySQL/MariaDB /var/lib/mysql . Všechny databáze ukládá do /var/lib/mysql . Chcete-li změnit adresář dat MySQL na /home, postupujte podle následujících kroků. Předpokládáme, že jste
- Nejprve vytvoříme zálohu všech databází MySQL, takže v případě, že se něco pokazí, nezpůsobíme ztrátu dat.
# tar -cvf mysql.tar /var/lib/mysql
- Jakmile se zálohováním skončíte, zastavte službu MariaDB pomocí níže uvedeného příkazu.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status
- Instalujte příkaz screen
yum install screen
screen // It will create screen - Nyní synchronizujeme všechny databáze MySQL do /home/mysql. Následující příkaz vytvoří adresář mysql v /home a spustí proces synchronizace.
rsync -avz /var/lib/mysql to /home
- Během synchronizace můžete pracovat i na jiných úkolech. Jakmile je vytvořeno více obrazovek, můžete pokračovat/přepínat mezi obrazovkami následovně.
screen -r // it will resume previous screen
ctrl A and ctrl D // for return to main screen
ctrl A and shift ? // for screen command menu - Chcete-li změnit datový adresář MySQL/MariaDB, upravte soubor /etc/my.cnf s vaším oblíbeným editorem.
vi /etc/my.cnf
- Změňte datový adresář z /var/lib/mysql do /home. Pokud nenaleznete existující řádek datadir, můžete přidat nový řádek, jak je uvedeno níže.
datadir=/home/mysql
- Budete muset znovu propojit soubor soketu s /tmp.
# rm -rf /tmp/mysql.sock
# ln -sf /home/mysql/mysql.sock /tmp/mysql.sock - Chcete-li spustit službu MariaDB z /home, musíte upravit soubor mariadb.service v umístění /usr/lib/systemd/system/mariadb.service.
ProtectHome=true to ProtectHome=false
- Konečně spusťte službu MariaDB.
systemctl start mariadb
- Vaše služba MariaDB může selhat s níže uvedeným varováním. Chcete-li tuto chybu vyřešit, můžete restartovat server a znovu spustit službu MariaDB a bude znovu fungovat.
MariaDB cannot start after update: [Warning] Need to run systemctl daemon-reload
- Pro ověření funkčnosti budeme muset vytvořit databázi z cPanelu a měla by být vytvořena v/home/mysql. Viz cPanel> vytvoření databáze MySQL pro vytvoření databáze MySQL. Pokud je vaše databáze vytvořena v /home/mysql, znamená to, že jste ve svém úkolu úspěšní.
- Pokud vše funguje správně, můžete odstranit starý datový adresář z /var/lib/mysql.
rm -rf /var/lib/mysql