Lösung für das Problem, dass MySQL nach dem Ändern des Standardpfads der Datenbank nicht gestartet werden kann

Lösung für das Problem, dass MySQL nach dem Ändern des Standardpfads der Datenbank nicht gestartet werden kann

Vorwort

Als MySQL den Standarddatenbankpfad änderte, konnte der Dienst nicht gestartet werden. Nach der Überprüfung des Protokolls wurde festgestellt, dass ein Fehler bei der Dateiberechtigung vorlag.

Für das geänderte Verzeichnis wurde mysql als Eigentümer des Verzeichnisses festgelegt! Und alles ist normal, wenn Sie die Datenbank direkt von der Befehlszeile aus starten.

Ich habe das allmächtige Google benutzt und den Grund schließlich in einem Beitrag eines Ausländers gefunden – ein Problem mit der SELINUX-Richtlinie!

Alle Hintergrunddienste müssen über entsprechende Berechtigungen für die entsprechenden Verzeichnisse verfügen, und der Standardpfad von mysql /var/lib/mysql hat entsprechende Richtlinien hinzugefügt. Nachdem der Pfad geändert wurde, wird der Hintergrundprozess aufgrund des Fehlens entsprechender Richtlinien von selinux daran gehindert, Dateien zu lesen, was zu Berechtigungsfehlern führt!

So geht's:

MySQL, die Methode ist:

chcon -R -t mysqld_db_t /db/mysql

Wenn es APACHE ist, ist die Methode:

# chcon -R -h -t httpd_sys_content_t /www/web/

Angehängte Hilfe zum chcon-Befehl

Befehl chcon: Ändern Sie den Sicherheitskontext eines Objekts (einer Datei) (z. B.: Benutzer: Rolle: Typ: Sicherheitsstufe).

Befehlsformat:

Chcon [OPTIONEN…] KONTEXTDATEIEN…..
Chcon [OPTIONEN…] –reference=PEF_FILES DATEIEN

veranschaulichen:

CONTEXT ist der festzulegende Sicherheitskontext

FILES-Objekt (Dateien)

--reference Referenzobjekt

PEF_FILES Verweisen auf Dateikontext

Die FILES-Anwendung bezeichnet den Dateikontext als meinen Kontext.

OPTIONEN sind wie folgt:

-f Ausführung erzwingen

-R Den Sicherheitskontext eines Objekts rekursiv ändern

-r ROLE Ändern Sie die Konfiguration der Sicherheitskontextrolle

-t TYPE Ändert die Konfiguration des Sicherheitskontexttyps

-u USER Ändert die Konfiguration des Sicherheitskontextbenutzers

-v zeigt ausführliche Informationen an

-l, --range=RANGE Ändern Sie die Sicherheitsstufe im Sicherheitskontext

MySQL, die Methode ist:

chcon -R -t mysqld_db_t /db/mysql

Beispiele

Wenn Sie diesen FTP für anonyme Benutzer freigeben möchten, müssen Sie Folgendes aktivieren:

chcon -R -t öffentlicher_inhalt_t /var/ftp

Wenn Sie das Hochladen von Dateien in das von Ihnen festgelegte FTP-Verzeichnis zulassen möchten, muss SELINUX festgelegt werden:

chcon -t public_content_rw_t /var/ftp/eingehend

Erlauben Sie Benutzern den Zugriff auf ihr Home-Verzeichnis über HTTP. Diese Einstellung ist auf die Startseite des Home-Verzeichnisses des Benutzers beschränkt:

setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~Benutzer/public_html

Wenn Sie das Samba-Verzeichnis mit anderen Benutzern teilen möchten, müssen Sie Folgendes festlegen:

chcon -t samba_share_t /Verzeichnis

Beim Freigeben des rsync-Verzeichnisses:

chcon -t public_content_t /Verzeichnisse

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Fehlerproblems beim Festlegen des Standardwerts 0000-00-00 in den Datums- und Datums-/Uhrzeittypen der MySQL-Datenbank
  • Beispiel zum Ändern der Standarddatenbank in MySQL in Django
  • Detaillierte Erläuterung der Rolle der Standarddatenbank nach der MySQL-Installation

<<:  Der beste Weg, freigegebene Verzeichnisse beim Start von Ubuntu 16.04 unter Virtualbox automatisch zu mounten

>>:  vue + springboot realisiert den Login-Bestätigungscode

Artikel empfehlen

Einführung in die JWT-Verifizierung mit Nginx und Lua

Inhaltsverzeichnis Vorwort Lua-Skript nignx.conf-...

IE8 Beta 1 hat zwei Bereiche, die Ihre Aufmerksamkeit erfordern

<br />Verwandte Artikel: Web-Kenntnisse: Lös...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.24

MySQL ist das beliebteste relationale Datenbankma...

Umfassende Zusammenfassung der MySQL-Funktionen

Inhaltsverzeichnis 1. Häufig verwendete Zeichenfo...

So isolieren Sie Benutzer in Docker-Containern

Im vorherigen Artikel „UID und GID in Docker-Cont...

Detaillierte Erläuterung der sechs gängigen Einschränkungstypen in MySQL

Inhaltsverzeichnis Vorwort 1.nichtnull 2. einziga...

JavaScript implementiert eine Box, die der Mausbewegung folgt

In diesem Artikel wird der spezifische JavaScript...

Optimierung des MySQL Thread_Stack-Verbindungsthreads

MySQL kann nicht nur über das Netzwerk, sondern a...

Beispiel für eine einfache Operation einer MySQL-Abfrageanweisung

Dieser Artikel veranschaulicht anhand von Beispie...

HTML imitiert die Dropdown-Menüfunktion der Baidu-Enzyklopädienavigation

HTML imitiert die Dropdown-Menüfunktion der Baidu...

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...