Az alapértelmezett MySQL/MariaDB adatkönyvtár megváltoztatása Linuxban
A LAMP verem összetevőinek CentOS/RHEL 7 kiszolgálóra történő telepítése után néhány dolgot érdemes megtennie.
Némelyikük az Apache és a MySQL/MariaDB biztonságának növelésével kapcsolatos, míg mások a beállításoknak vagy igényeinknek megfelelően alkalmazhatók vagy nem.
Például az adatbázis-kiszolgáló várható használata alapján módosítani szeretnénk az alapértelmezett data könyvtárat (/var/lib/mysql
) egy másik helyre. Ez az eset áll fenn, ha egy ilyen könyvtár várhatóan növekedni fog a magas használat miatt.
Ellenkező esetben a /var
fájlrendszer egy ponton összeomolhat, ami a teljes rendszer meghibásodását okozza. Egy másik forgatókönyv, amikor megváltoztatjuk az alapértelmezett könyvtárat, ha van egy dedikált hálózati megosztásunk, amelyet tényleges adataink tárolására szeretnénk használni.
Emiatt ebben a cikkben elmagyarázzuk, hogyan módosítható az alapértelmezett MySQL/MariaDB adatkönyvtár egy másik elérési útra CentOS/RHEL 7 kiszolgálón és Ubuntu/Debian disztribúciókon.
Bár a MariaDB-t fogjuk használni, az ebben a cikkben ismertetett fogalmak és lépések a MySQL-re és a MariaDB-re egyaránt vonatkoznak, hacsak nincs másképp jelezve.
Az alapértelmezett MySQL/MariaDB Data Directory módosítása
Megjegyzés: Feltételezzük, hogy az új adatkönyvtárunk a /mnt/mysql-data
. Fontos megjegyezni, hogy ennek a könyvtárnak a mysql:mysql
tulajdonában kell lennie.
mkdir /mnt/mysql-data
chown -R mysql:mysql /mnt/mysql-data
Az Ön kényelme érdekében a folyamatot 5 könnyen követhető lépésre osztottuk:
1. lépés: Azonosítsa az aktuális MySQL adatkönyvtárat
Kezdésként érdemes és jól azonosítani az aktuális adatkönyvtárat a következő paranccsal. Ne csak azt tegyük, hogy még mindig /var/lib/mysql
, mivel a múltban megváltoztathatták.
mysql -u root -p -e "SELECT @@datadir;"
A MySQL jelszó megadása után a kimenetnek hasonlónak kell lennie.
2. lépés: Másolja a MySQL Data Directory-t egy új helyre
Az adatok sérülésének elkerülése érdekében a folytatás előtt állítsa le a szolgáltatást, ha az éppen fut. Ehhez használja a jól ismert systemd parancsokat:
------------- On SystemD -------------
systemctl stop mariadb
systemctl is-active mariadb
------------- On SysVInit -------------
service mysqld stop
service mysqld status
OR
service mysql stop
service mysql status
Ha a szolgáltatást leállították, az utolsó parancs kimenetének a következőnek kell lennie:
Ezután másolja rekurzív módon a /var/lib/mysql
fájl tartalmát a /mnt/mysql-data
mappába, megőrizve az eredeti engedélyeket és időbélyegeket:
cp -R -p /var/lib/mysql/* /mnt/mysql-data
3. lépés: Konfiguráljon egy új MySQL adatkönyvtárat
Szerkessze a konfigurációs fájlt (my.cnf
), hogy jelezze az új adatkönyvtárat (ebben az esetben /mnt/mysql-data
).
vi /etc/my.cnf
OR
vi /etc/mysql/my.cnf
Keresse meg a [mysqld]
és [kliens]
szakaszt, és hajtsa végre a következő módosításokat:
Under [mysqld]:
datadir=/mnt/mysql-data
socket=/mnt/mysql-data/mysql.sock
Under [client]:
port=3306
socket=/mnt/mysql-data/mysql.sock
Mentse el a változtatásokat, majd folytassa a következő lépéssel.
4. lépés: Állítsa be a SELinux biztonsági kontextusát a Data Directory értékre
Ez a lépés csak az RHEL/CentOS és származékaira vonatkozik.
A MariaDB újraindítása előtt adja hozzá a SELinux biztonsági környezetet a /mnt/mysql-data
fájlhoz.
semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?"
restorecon -R /mnt/mysql-data
Ezután indítsa újra a MySQL szolgáltatást.
------------- On SystemD -------------
systemctl stop mariadb
systemctl is-active mariadb
------------- On SysVInit -------------
service mysqld stop
service mysqld status
OR
service mysql stop
service mysql status
Most használja ugyanazt a parancsot, mint az 1. lépésben az új adatkönyvtár helyének ellenőrzéséhez:
mysql -u root -p -e "SELECT @@datadir;"
5. lépés: Hozzon létre MySQL-adatbázist az adatkönyvtár megerősítéséhez
Jelentkezzen be a MariaDB-be, hozzon létre egy új adatbázist, majd ellenőrizze a /mnt/mysql-data
elemet:
mysql -u root -p -e "CREATE DATABASE tecmint;"
Gratulálunk! Sikeresen módosította a MySQL vagy a MariaDB adatkönyvtárát.
Összegzés
Ebben a bejegyzésben megvitattuk, hogyan lehet megváltoztatni az adatkönyvtárat a CentOS/RHEL 7 és Ubuntu/Debian disztribúciókon futó MySQL vagy MariaDB szervereken.
Kérdése vagy megjegyzése van ezzel a cikkel kapcsolatban? Nyugodtan tudassa velünk az alábbi űrlap segítségével – mindig örömmel fogadjuk, ha hallunk!