Gibt es einen Befehl, um festzustellen, welche Konfigurationsdatei MySQL 5.0 derzeit verwendet?
mysql
configuration
Yalestar
quelle
quelle
ps auxf
den für MySQL ausgeführten Befehl ausführen und suchen. Normalerweise sieht es so aus wiemysqld --basedir=/usr/local/mysql ...
(beachten Sie, dass ... nur bedeutet, dass der Befehl möglicherweise mehr Flags enthält, aber ich werde nicht alles auflisten). Wenn Sie es gefunden haben, kopieren Sie das Ganze und fahren Sie MySQL herunter. Wenn Sie unter Linux sind, ist es/etc/init.d/mysqld stop
odermysqladmin -u root -p shutdown
. Führen Sie dannstrace
den von Ihnen kopierten Befehl mysql aus. So würde es aussehen:strace mysqld --basedir=/usr/local/mysql
open(...
Leitung nicht. Stattdessen habe ich 4 Zeilen, die mit enden= -1 Err#2
. Woher weiß ich jetzt, welche Datei geladen ist?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe verwenden. Diese Ausgabe bedeutet wahrscheinlich, dass keine der Dateien gefunden wurde und keine geöffnet wurde.Entnommen aus dem fantastischen O'Reilly-Buch "High Performance MySQL":
quelle
!includedir
. Ich versuche herauszufinden, warum die!includedir
Direktive in meiner/etc/mysql/my.cnf
Datei nicht funktioniert.mysqld
mit dem vollen Pfad anrufen müssen ?!Wenn Sie es ausführen
mysql --verbose --help | less
, erfahren Sie in Zeile 11, nach welchen.cnf
Dateien gesucht wird.Sie können auch
mysql --print-defaults
zeigen, wie die Konfigurationswerte verwendet werden. Dies kann auch hilfreich sein, um festzustellen, welche Konfigurationsdatei geladen wird.quelle
mysqld
anstelle vonmysql
mysqld --print-defaults
gab mir genau das, was ich wollte, als ich diese Frage googelte.Ich bin unter Windows und habe die neueste Version von MySQL Community 5.6 installiert
Um zu sehen, welche Konfigurationsdatei verwendet wird, ging ich zu Verwaltung> Dienste> MySQL56> Rechtsklick> Eigenschaften und überprüfe den Pfad zur ausführbaren Datei:
"C: / Programme / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56
quelle
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
standardmäßig aktiviert.Eine Alternative ist zu verwenden
quelle
mysqld --help --verbose ist gefährlich. Sie können die PID-Datei zum Ausführen der Instanz einfach überschreiben! Verwenden Sie es mit --pid-file = XYZ
Oh, und Sie können es nicht wirklich verwenden, wenn mehr als eine Instanz ausgeführt wird. Es wird nur der Standardwert angezeigt.
Wirklich guter Artikel darüber:
Wie finde ich die MySQL-Konfigurationsdatei?
quelle
Habe gerade einen kurzen Test auf Ubuntu gemacht:
installierter MySQL-Server, der /etc/mysql/my.cnf erstellt hat
mysqld --verbose --help | grep -A 1 "Standardoptionen"
110112 13:35:26 [Hinweis] Das Plugin 'FEDERATED' ist deaktiviert.
Standardoptionen werden in der angegebenen Reihenfolge aus den folgenden Dateien gelesen: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf
Erstellt /etc/my.cnf und /usr/etc/my.cnf mit jeweils einer anderen Portnummer
mysql neu gestartet - es wurde die in /usr/etc/my.cnf festgelegte Portnummer verwendet
In der Zwischenzeit wurde auch die Option --defaults-file für mysqld gefunden. Wenn Sie dort eine Konfigurationsdatei angeben, wird nur diese verwendet, unabhängig davon, was von / usr / sbin / mysqld --verbose --help | zurückgegeben wird grep -A 1 "Standardoptionen"
quelle
Mit MySQL Workbench wird es unter "Server Status" angezeigt:
quelle
Ich fand das wirklich nützlich:
Control Panel -> Administration Tools
Properties
Path to executable
und prüfen Sie, ob es den Pfad zum enthältmy.ini/my.cfg
quelle
Auf einigen Servern sind mehrere MySQL-Versionen installiert und konfiguriert. Stellen Sie sicher, dass Sie mit der richtigen Version arbeiten, die mit einem Unix-Befehl ausgeführt wird:
quelle
Für Benutzer, die Windows Server mit MySQL als Dienst ausführen, können Sie auf einfache Weise herausfinden, welche Konfigurationsdatei Sie ausführen, indem Sie die Systemsteuerung für Dienste öffnen, Ihren MySQL-Dienst suchen (in meinem Fall 'MYSQL56'), mit der rechten Maustaste klicken und auf Eigenschaften klicken . Dann können Sie von hier aus den "Pfad zur ausführbaren
defaults-file
Datei " überprüfen, der einen Schalter haben sollte , der zeigt, wo sich Ihre Konfigurationsdatei befindet.quelle
Nur für den Fall, dass Sie einen Mac ausführen, kann dies auch erreicht werden durch:
quelle
Wenn Sie unter Windows arbeiten, können Sie Sysinternals procmon verwenden . Öffnen Sie es und konfigurieren Sie die Filtereinstellung wie folgt. Klicken Sie dann auf "Hinzufügen". Jetzt überwacht procmon mysqld.
Starten Sie nun Ihren MySQL-Server wie gewohnt. Procmon erfasst die Hintergrundoperationen von MySQL. Suche "mein". Im Ergebnisbereich von procmon finden Sie ungefähr Folgendes:
Es ist klar, dass MySQL nacheinander eine Liste von Konfigurationsdateien durchsucht. In meinem Fall wurde es
C:\mysql-5.7.19-winx64\my.cnf
erfolgreich gefunden, sodass es dieses verwendet.quelle
Ich habe MySQL installiert. Verwenden Sie Brew Install MySQL
Und es zeigt:
quelle