Ich versuche, diesem Tutorial zu folgen , um den Remotezugriff auf MySQL zu ermöglichen. Das Problem ist, wo sollte sich die my.cnf
Datei befinden? Ich verwende Mac OS X Lion.
184
Ich versuche, diesem Tutorial zu folgen , um den Remotezugriff auf MySQL zu ermöglichen. Das Problem ist, wo sollte sich die my.cnf
Datei befinden? Ich verwende Mac OS X Lion.
Antworten:
Dieser Thread im MySQL-Forum sagt:
OS X bietet Beispielkonfigurationsdateien unter
/usr/local/mysql/support-files/
.Und wenn Sie sie dort nicht finden können, kann MySQLWorkbench sie für Sie erstellen, indem Sie:
quelle
my.cnf
Dateimysql --verbose --help | grep my.cnf
Im Falle von Mac OS X Maverick befindet sich MySQL unter Homebrew unter
/usr/local/opt/mysql/my.cnf
quelle
/usr/local/mysql/etc
. Ich bin auf High Sierra, aber es wurde ein paar Versionen zurück installiert.Auf Unix- und Unix-ähnlichen Systemen lesen MySQL / MariaDB-Programme im Allgemeinen Konfigurations- / Startdateien an den folgenden Speicherorten (in der angegebenen Reihenfolge):
/etc/my.cnf
- Global/etc/mysql/my.cnf
- GlobalSYSCONFDIR/my.cnf
- Global$MYSQL_HOME/my.cnf
- Serverspezifisch (nur Server)Datei angegeben mit
--defaults-extra-file=path
falls vorhanden~/.my.cnf
- Benutzerspezifisch~/.mylogin.cnf
- Benutzerspezifisch (nur Kunden)Quelle: Verwenden von Optionsdateien .
Zusätzlich gibt es auf dem Mac eine einfache Möglichkeit, dies zu überprüfen.
Lauf:
sudo fs_usage | grep my.cnf
Dadurch werden alle Dateisystemaktivitäten in Echtzeit in Bezug auf diese Datei gemeldet.
Starten Sie in einem anderen Terminal MySQL / MariaDB neu, z
oder:
Auf dem Terminal mit
fs_usage
sollte der richtige Ort angezeigt werden, zWenn die Datei nicht vorhanden ist, erstellen Sie eine.
quelle
sudo fs_usage | grep my.cnf
Methode ist sehr effizient. Ich finde diese Datei auf Ordner: /usr/local/etc/my.cnfprivate/etc/my.cnf
,/usr/local/etc/my.cnf
,/usr/local/Cellar/mysql/<myVersion>/my.cnf
,~.my.cnf
mitmy_print_def
in der rechten Spalte. Dann nach einer Weile ist es nur/usr/local/etc/my.cnf
mit meinem Terminal in der Spalte ganz rechts. Aber all diesemy.cnf
Dateien existieren nicht!Ich weiß nicht, welche Version von MySQL Sie verwenden, aber hier sind mögliche Speicherorte der my.cnf-Datei für Version 5.5 (von hier übernommen ) unter Mac OS X:
/etc/my.cnf
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf
defaults-extra-file
(die mit angegebene Datei--defaults-extra-file=path
, falls vorhanden)~/.my.cnf
quelle
Für MySQL 5.7 unter Mac OS X El Capitan:
/usr/local/mysql/etc/my.cnf
Kopieren Sie die Standardkonfiguration von
/usr/local/mysql/support-files/my-default.cnf
quelle
Wenn Sie macOS Sierra verwenden und die Datei nicht vorhanden ist, führen Sie sie aus
mysql --help or mysql --help | grep my.cnf
Um die möglichen Speicherorte und die Lade- / Lesesequenz von my.cnf für mysql anzuzeigen, erstellen Sie die Datei my.cnf in einem der vorgeschlagenen Verzeichnisse und fügen Sie die folgende Zeile hinzu
[mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Sie können
sudo touch /{preferred-path}/my.cnf
die Datei dann bearbeiten, um den SQL-Modus hinzuzufügensudo nano /{preferred-path}/my.cnf
Dann starte mysql neu, voilaah du bist gut zu gehen. fröhliche Codierung
quelle
Das aktuelle MySQL-Paket für Mac OS X Mavericks (mysql-5.6.17-osx10.7-x86_64 zum Zeitpunkt dieses Schreibens) erstellt während der Installation automatisch eine my.cnf.
Es befindet sich unter
/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
Passen Sie Ihren Pfad an Ihre Version an.
quelle
Also hat keines dieser Dinge für mich funktioniert. Ich verwende die aktuelle dmg-Installation des MySQL-Community-Servers. ps zeigt, dass alle kritischen Parameter, die normalerweise in my.cnf enthalten sind, in der Befehlszeile übergeben werden, und ich konnte nicht herausfinden, woher das kam. Nachdem ich meine Box im Volltext durchsucht hatte, fand ich sie in:
/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
Sie können sie also entweder dort ändern oder herausnehmen, damit sie tatsächlich diejenigen respektieren, die Sie in Ihrer my.cnf haben, wo immer Sie sich entschieden haben, sie zu platzieren.
Genießen!
Beispiel für die in dieser Datei gefundenen Dateiinformationen:
quelle
/etc/my.cnf
Sie können ein Terminal öffnen und eingeben
locate my.cnf
quelle
In MySQL 5.6.22, das ich von Homebrew installiert habe, lautet der Pfad von my.cnf
quelle
macOs sierra 10.12.6 mysql version: 5.7.18_1 Ich laufe führe my.cnf aus und der Pfad ist
hoffe es hilft.
quelle
locate my.cnf
auf Ihrem Terminal. Was ist das Ergebnis?Sie können Ihre Datei in einem beliebigen Verzeichnis erstellen. Nach der Erstellung können Sie den Pfad zur MySQL-Konfiguration "mitteilen":
quelle
Sie können die Datei überprüfen
/usr/local/bin/mysql.server
und sehen, von womy.conf
gelesen wird.Normalerweise ist es von
/etc/my.cnf
oder~/my.cnf
oder~/.my.cnf
quelle
~/.my.cnf
. Fügen Sie vor dem Dateinamen einen Punkt ein.Erstellen Sie für MAMP 3.5 Mac El Capitan eine separate leere Konfigurationsdatei und schreiben Sie Ihre zusätzlichen Einstellungen für MySQL
Und so hinzufügen
quelle
Öffnen Sie das Terminal und verwenden Sie den folgenden Befehl:
quelle
LESEN SIE DIE DOKUMENTE!
Die MySQL-Dokumente, für welche Version Sie verwenden, helfen. Es wird normalerweise als
Options File
oder beschriebenMySQL Config File
.Die Dokumente enthalten den Speicherort dieser Dateien in der Dokumentation sowie weitere
VITAL
Informationen wie den Speicherort und kleine Beispiele dafür, wie die Konfigurationsdatei aussehen muss.MySQL Version 8
MySQL Version 5.7
MySQL Version 5.6
MySQL Version 5.5
MySQL Version 5.6 Japanisch
Wichtige Notizen:
Mit anderen Worten, wenn Sie die falschen Berechtigungen für Ihre Konfigurationsdatei festgelegt haben, wird diese NICHT geladen.
Beispiel für die Ersteinrichtungsberechtigung einer der Konfigurationsdateien:
Hinweis:
Beispiele, wie Sie Ihren Speicherort Ihrer Konfigurations- oder Protokolldateien finden können ect.:
SQL
Dadurch wird die Konfigurationsdatei nicht angezeigt, Sie können jedoch Ihre Installationsdateien / -ordner leichter finden.
MySQL Version 5.7 & 8+
MySQL Version <= 5.6
SHELL / Terminal
Über dem Befehl Gutschrift an: Erwin Mayer von ServerFault
ODER
Beispieldatei
Sollten Sie ein detailliertes Referenzbeispiel benötigen my.cnf:
Mein System:
quelle
Ich verwende MacOS Catalina (10.15.3) und finde
my.cnf
in/usr/local/etc
.quelle
Ich habe in macOS Sierra eingecheckt, das Homebrew installiert
MySql 5.7.12
Die Support-Dateien befinden sich unter
Kopieren Sie einfach
my-default.cnf
als/etc/my.cnf
oder/etc/mysql/my.cnf
und die Konfiguration wird beim Neustart übernommen.quelle
macOS High Sierra Version 10.13.6
mysql Ver 14.14 Distrib 5.7.22 für osx10.13 (x86_64) unter Verwendung des EditLine-Wrappers Copyright (c) 2000, 2018, Oracle und / oder seine Tochterunternehmen. Alle Rechte vorbehalten
Standardoptionen werden in der angegebenen Reihenfolge aus den folgenden Dateien gelesen:
quelle
/private/etc/my.cnf für Catalina
quelle
Ich verwende MySQL Version 5.7.17 in MacOS High Sierra Version 10.13.3 und habe die MySQL-Konfigurationsdatei hier gefunden.
quelle
mysql --verbose --help | grep my.cnf
dem sie abgeholt wird, wie folgt:DO NOT EDIT THIS FILE. It's a template which will be copied to the default location during install, and will be replaced if you upgrade to a newer version of MySQL.
es sollte in der Regel unter sein ,
/usr/local/etc
auf dem Mac , wenn Sie es nicht finden Sie erstellen könnenquelle
Für Mac hat es für mich funktioniert, eine .my.cnf-Datei in meinem ~ Pfad zu erstellen. Hoffe das hilft.
quelle
Kopieren Sie /usr/local/opt/mysql/support-files/my-default.cnf als /etc/my.cnf oder /etc/mysql/my.cnf und starten Sie mysql neu.
quelle
Für mich in Sierra Version
Kopieren Sie die Standardkonfiguration unter:
zu
quelle
In meinem Fall existierte die Datei nicht. In MySQL Workbench ging ich zu OPTIONS FILE und fand einige Standardwerte. Ich habe auf Übernehmen geklickt. Es bat um Erlaubnis. Anschließend wurde die Datei my.cnf unter / etc erstellt. Es ist jedoch sehr wichtig zu beachten, dass Sie beim ersten Klicken auf "Übernehmen" keine Änderungen an der Standardkonfiguration vornehmen. Sobald die Datei erstellt wurde, können Sie Änderungen vornehmen, die angewendet werden, wenn Sie auf "Übernehmen" klicken. Andernfalls wird die Schaltfläche "Anwenden" nicht angezeigt, wenn Sie Änderungen vornehmen.
quelle
/etc/mysql/my.cnf
aber MySQL Workbench ist sich dessen nicht bewusst. Stattdessen wird beanstandet, dass die Konfigurationsdatei mit einem leeren Pfad nicht gefunden werden kann, und es wird angeboten, eine neue Datei zu erstellen.Nach der Version 5.7.18 von MySQL wird die Standardkonfigurationsdatei nicht im Verzeichnis support-files bereitgestellt. Sie können also die Datei my.cnf manuell an dem Speicherort erstellen, an dem MySQL liest, z. B. /etc/mysql/my.cnf, und die Konfiguration hinzufügen, die Sie der Datei hinzufügen möchten.
quelle
Die Standardoptionen werden in der angegebenen Reihenfolge aus den folgenden Dateien gelesen: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~ / .my.cnf
quelle
Ich verwende MacOS Mojave (10.14.6) und damit MySQL meine Konfigurationsdatei erkennt, musste ich sie in /usr/local/mysql-5.7.26-macos10.14-x86_64/etc/my.cnf ablegen. Außerdem habe ich einen symbolischen Link von /usr/local/@mysql/etc/my.cnf, der darauf verweist.
Ich habe versucht, sql_mode = only_full_group_by zu deaktivieren, und das Festlegen dieser Option in der Konfigurationsdatei war die einzige Möglichkeit, die Einstellung über Sitzungen hinweg beizubehalten. Der Inhalt der Konfigurationsdatei ist:
Ich verwende die native Installation von MySQL, nicht das Homebrew-Setup.
quelle
Für MySQL 8.0.19 habe ich die my.cnf endlich hier gefunden: /usr/local/opt/mysql/.bottle/etc Ich habe sie nach / usr / local / opt / mysql / kopiert und geändert. Dann starte ich den MySQL-Dienst neu, es funktioniert.
quelle