Jak zmienić domyślny katalog danych MySQL/MARIADB w Linux
- 3825
- 1217
- Maurycy Napierała
Po zainstalowaniu komponentów stosu lampy na serwerze CentOS/RHEL 7, istnieje kilka rzeczy, które możesz chcieć zrobić.
Niektóre z nich mają związek z zwiększeniem bezpieczeństwa apache i mysql / mariadb, podczas gdy inne mogą mieć zastosowanie lub nie zgodnie z naszą konfiguracją lub potrzebami.
Na przykład, w oparciu o oczekiwane użycie serwera bazy danych, możemy chcieć zmienić domyślne dane katalog (/var/lib/mysql
) do innej lokalizacji. Tak jest, gdy oczekuje się, że taki katalog wzrośnie z powodu wysokiego użycia.
W przeciwnym razie system plików, gdzie /var
jest przechowywany w jednym punkcie, powodując awarię całego systemu. Kolejnym scenariuszem, w którym zmiana domyślnego katalogu jest, gdy mamy dedykowany udział sieciowy, którego chcemy użyć do przechowywania naszych rzeczywistych danych.
Z tego powodu w tym artykule wyjaśnimy, jak zmienić domyślny katalog danych MySQL/MARIADB na inną ścieżkę na serwerze CentOS/RHEL 7 i rozkładach Ubuntu/Debian.
Chociaż będziemy używać Mariadb, Wyjaśnione pojęcia i kroki podjęte w tym artykule dotyczą zarówno Mysql i do Mariadb o ile nie zaznaczono inaczej.
Zmiana domyślnego katalogu danych MySQL/MARIADB
Notatka: Zakładamy, że nasz nowy katalog danych jest /mnt/mysql-data
. Należy zauważyć, że ten katalog powinien być własnością Mysql: Mysql
.
# mkdir /mnt /mysql-data # chown -r mysql: mysql /mnt /mysql-data
Dla Twojej wygody podzieliliśmy proces na 5 łatwych do naśladowania kroków:
Krok 1: Zidentyfikuj bieżący katalog danych MySQL
Na początek warto i dobrze zidentyfikować bieżący katalog danych za pomocą następującego polecenia. Nie tylko zakładaj, że to wciąż /var/lib/mysql
Ponieważ w przeszłości można go było zmienić.
# mysql -u root -p -e "select @@ datadir;"
Po wprowadzeniu hasła MySQL wyjście powinno być podobne do.
Zidentyfikuj katalog danych MySQLKrok 2: Skopiuj katalog danych MySQL do nowej lokalizacji
Aby uniknąć uszkodzenia danych, zatrzymaj Usługę, jeśli jest ona obecnie uruchomiona przed kontynuowaniem. Użyj Systemd dobrze znane polecenia:
------------- Na systemd ------------- # Systemctl Stop MariaDb # Systemctl IS-Active MariaDB ------------- Na Sysvinit ------------- # Service Mysqld Stop # Service Mysqld Status lub # Service Mysql Stop # Service MySQL Status
Jeśli usługa została obniżona, wyjście ostatniego polecenia powinno być następujące:
Zatrzymaj usługę MySQLNastępnie skopiuj rekurencyjnie zawartość /var/lib/mysql
Do /mnt/mysql-data
Zachowanie oryginalnych uprawnień i znaczników czasu:
# cp -r -p/var/lib/mysql/*/mnt/mysql -dataSkopiuj katalog danych MySQL do nowej lokalizacji
Krok 3: Skonfiguruj nowy katalog danych MySQL
Edytuj plik konfiguracyjny (Mój.CNF
) Aby wskazać nowy katalog danych (/mnt/mysql-data
w tym przypadku).
# vi /etc /my.cnf lub # vi/etc/mysql/my.CNF
Znajdź [Mysqld]
I [klient]
Sekcje i dokonaj następujących zmian:
Under [Mysqld]: datadir =/mnt/mysql-data gniazdo =/mnt/mysql-data/mysql.skarpetka Under [Klient]: port = 3306 Socket =/mnt/mysql-data/mysql.skarpetka
Zapisz zmiany, a następnie kontynuuj następny krok.
Skonfiguruj nowy katalog danych MySQLKrok 4: Ustaw kontekst bezpieczeństwa Selinux na katalog danych
Ten krok dotyczy tylko do RHEL/CENTOS i jego pochodne.
Dodaj kontekst bezpieczeństwa Selinux do /mnt/mysql-data
Przed ponownym uruchomieniem Mariadb.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql -data (/.*)?" # RESTORECON -r /MNT /MYSQL -DATA
Następnie ponownie uruchom usługę MySQL.
------------- Na systemd ------------- # Systemctl Stop MariaDb # Systemctl IS-Active MariaDB ------------- Na Sysvinit ------------- # Service Mysqld Stop # Service Mysqld Status lub # Service Mysql Stop # Service MySQL Status
Teraz użyj tego samego polecenia, co w Krok 1 Aby zweryfikować lokalizację nowego katalogu danych:
# mysql -u root -p -e "select @@ datadir;"Sprawdź nowy katalog danych MySQL
Krok 5: Utwórz bazę danych MySQL, aby potwierdzić katalog danych
Zaloguj się do Mariadb, utwórz nową bazę danych, a następnie sprawdź /mnt/mysql-data
:
# mysql -u root -p -e "Utwórz bazę danych TecMint;"Sprawdź MySQL Nowy katalog danych
Gratulacje! Z powodzeniem zmieniłeś katalog danych dla MySQL lub MARIADB.
Streszczenie
W tym poście omówiliśmy, jak zmienić katalog danych na serwerze MySQL lub MARIADB działającym na dystrybucjach Centos/Rhel 7 i Ubuntu/Debian.
Czy masz jakieś pytania lub komentarze na temat tego artykułu? Daj nam znać, używając poniższego formularza - zawsze cieszymy się, że słyszymy od Ciebie!
- « Jak zainstalować stacja robocza szefa kuchni w Rhel i Centos 8/7
- 10 Przydatne strony internetowe do nauki systemu bazy danych PostgreSQL »