Weboldal keresés

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!