Wo kann ich die Bash-Einstellungen für den Benutzer "mysql" festlegen?

Wo kann ich die Bash-Einstellungen für den Benutzer "mysql" festlegen?

Entschuldigen Sie bitte, wenn die Frage irreführend ist. Ich versuche zu verstehen, wie die Umgebungseinstellungen für den Benutzer „mysql“ funktionieren.

Ich folgedieser Leitfadenum eine Oracle-Datenbank von einer MariaDB-Installation aus zu verbinden.

Es ist mir gelungen, die erforderlichen Bibliotheken zu installieren und über die Root-Befehlszeile eine Verbindung herzustellen.

Aber beim Verbindungsversuch von MariaDB erhalte ich diese Meldung:

[unixODBC][Treiber-Manager]Bibliothek „/home/oraclec/instantclient_12_1/libsqora.so.12.1“ kann nicht geöffnet werden: Datei nicht gefunden

Dasselbe passierte beim ersten Verbindungsversuch über die Root-Befehlszeile. Ich löste das Problem, indem ich der /root/.bash_profileDatei die folgenden Zeilen hinzufügte:

CLIENT_HOME=/home/oraclec/instantclient_12_1 ; export CLIENT_HOME
LD_LIBRARY_PATH=/home/oraclec/instantclient_12_1 ; export LD_LIBRARY_PATH

Also versuche ich, dasselbe für den Benutzer „mysql“ zu tun, aber .bash_profilefür diesen Benutzer gibt es kein a.

Abschließend stellt sich die Frage, wo ich diese Pfade platzieren muss, damit der Benutzer „mysql“ darauf zugreifen kann?

Notiz:Auf dem Server läuft CentOS 6.5.

Antwort1

Sie können Ihre Variablen aus dem Init-Skript an MySQL übergeben, z /etc/init.d/mysql. B.:

.bash_profileWenn Sie dennoch ein (oder .bashrc) für den MySQL-Benutzer erstellen müssen , gehen Sie wie folgt vor:

vi ~mysql/.bash_profile

Wenn für diesen Benutzer kein Home vorhanden ist, erstellen Sie eines und aktualisieren Sie es /etc/passwd.

Antwort2

Es kann nicht schaden, es für alle Benutzer in/etc/bash.bashrc.

Anstatt die Variable LD_LIBRARY_PATH zu verwenden, können Sie auch den Bibliothekspfad in/etc/ld.so.conf. Vergiss nicht, hinterherzulaufen ldconfig.

verwandte Informationen