it-swarm.com.de

Speicherort der my.cnf-Datei auf macOS

Ich versuche, diesem Tutorial zu folgen, um den Fernzugriff auf MySQL zu ermöglichen. Das Problem ist, wo sollte die my.cnf-Datei liegen? Ich verwende Mac OS X Lion.

142
nicolas

Dieser Thread im MySQL-Forum sagt:

Standardmäßig verwendet die OS X-Installation keine my.cnf und MySQL verwendet nur die Standardwerte. Um Ihre eigene my.cnf einzurichten, können Sie einfach eine Datei direkt in/etc erstellen. 

OS X enthält 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:

  1. Verbindung öffnen
  2. Wählen Sie 'Options File' unter 'INSTANCE' im Menü.
  3. MySQLWorkbench sucht nach my.cnf und wenn es es nicht finden kann, wird es für Sie erstellt
223
bfavaretto

Bei Mac OS X Maverick, wenn MySQL über Homebrew installiert wird, befindet es sich unter /usr/local/opt/mysql/my.cnf.

69
Eigengrau

Im Allgemeinen lesen MySQL/MariaDB-Programme auf Unix- und Unix-ähnlichen Systemen Konfigurations-/Startdateien an den folgenden Speicherorten (in der angegebenen Reihenfolge):

  • /etc/my.cnf - global
  • /etc/mysql/my.cnf - global
  • SYSCONFDIR/my.cnf - global

    SYSCONFDIR steht für das Verzeichnis, das mit der Option SYSCONFDIR zu CMake angegeben wurde, als MySQL erstellt wurde. Standardmäßig ist dies das Verzeichnis etc unter dem kompilierten Installationsverzeichnis.

  • $MYSQL_HOME/my.cnf - serverspezifisch (nur Server)

    MYSQL_HOME ist eine Umgebungsvariable, die den Pfad zu dem Verzeichnis enthält, in dem sich die serverspezifische my.cnf-Datei befindet. Wenn MYSQL_HOME nicht festgelegt ist und Sie den Server mit dem Programm mysqld_safe starten, wird mysqld_safe auf BASEDIR gesetzt, das MySQL-Basisinstallationsverzeichnis.

  • datei mit --defaults-extra-file=path angegeben, falls vorhanden

  • ~/.my.cnf - benutzerspezifisch
  • ~/.mylogin.cnf - benutzerspezifisch (nur für Kunden)

Quelle: Optionsdateien verwenden .

Hinweis: Auf Unix-Plattformen ignoriert MySQL Konfigurationsdateien, die weltweit schreibbar sind. Dies ist als Sicherheitsmaßnahme beabsichtigt.


Zusätzlich gibt es auf dem Mac eine einfache Möglichkeit, dies zu überprüfen.

  1. Ausführen: Sudo fs_usage | grep my.cnf

    Dadurch werden alle Dateisystemaktivitäten in Echtzeit in Bezug auf diese Datei gemeldet.

  2. Starten Sie in einem anderen Terminal Ihr MySQL/MariaDB neu, z.

    brew services restart mysql
    

    oder:

    brew services restart mariadb
    
  3. Auf dem Terminal mit fs_usage sollte der richtige Standort angezeigt werden, z.

    15:52:22  access            /usr/local/Cellar/mariadb/10.1.14/my.cnf                                         0.000002   sh          
    

    Wenn die Datei nicht existiert, erstellen Sie eine.

42
kenorb

Ich weiß nicht, welche Version von MySQL Sie verwenden, aber hier sind mögliche Speicherorte der my.cnf-Datei für Version 5.5 (entnommen aus hier ) unter Mac OS X:

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file (ggf. die mit --defaults-extra-file=path angegebene Datei)
  6. ~/.my.cnf
30
Jeffrey Chung

Für MySQL 5.7 unter Mac OS X El Capitan: /usr/local/mysql/etc/my.cnf

Standardkonf aus /usr/local/mysql/support-files/my-default.cnf kopieren

19

Wenn Sie macOS Sierra verwenden und die Datei nicht vorhanden ist, wird Ausgeführt 

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 dann Sudo touch /{preferred-path}/my.cnf die Datei bearbeiten, um den SQL-Modus mit hinzuzufügen 

Sudo nano /{preferred-path}/my.cnf 

Dann starte Mysql neu, voilaah, du kannst gehen. glückliche Kodierung

12
Gpak

Das aktuelle MySQL-Paket für Mac OS X Mavericks (zum Zeitpunkt dieses Schreibens mysql-5.6.17-osx10.7-x86_64) erstellt während der Installation automatisch eine my.cnf. 

Es befindet sich bei /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
Passen Sie Ihren Pfad entsprechend Ihrer Version an.

12
Jpsy

In MySQL 5.6.22, das ich von Homebrew installiert habe, ist der Pfad von my.cnf 

/usr/local/opt/mysql/my.cnf 
10
StevenR

Sie können ein Terminal öffnen und locate my.cnf eingeben

9
sreimer

Also funktionierte keines dieser Dinge für mich. Ich verwende die aktuelle dmg-Installation des MySQL-Community-Servers. ps zeigt, dass alle kritischsten Parameter, die normalerweise in my.cnf verwendet werden, über die Befehlszeile übergeben werden, und ich konnte nicht herausfinden, woher das kam. Nach einer Volltextsuche meiner Box fand ich sie in:

/Library/LaunchDaemons/com.Oracle.oss.mysql.mysqld.plist

Sie können sie also entweder dort ändern oder herausnehmen, so dass Sie die in Ihrer my.cnf vorhandenen Informationen respektieren, unabhängig davon, wo Sie sich dazu entschieden haben.

Genießen!

Beispiel für die in dieser Datei gefundenen Dateiinformationen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.Oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
             <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
             <string>--early-plugin-load=keyring_file=keyring_file.so</string>

        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>
8
Datbates

Sie können die Datei überprüfen 

/usr/local/bin/mysql.server und sehen, woher my.conf gelesen wird. 

Normalerweise ist es von /etc/my.cnf oder ~/my.cnf oder ~/.my.cnf

6
Vazgen Manukyan

macOs sierra 10.12.6 mysql version: 5.7.18_1 Ich führe locate my.cnf aus und der Pfad ist 

/usr/local/etc/my.cnf

hoffe es hilft.

5
aginanjar

Erstellen Sie für MAMP 3.5 Mac El Capitan eine separate leere Konfigurationsdatei und schreiben Sie Ihre zusätzlichen Einstellungen für mysql

Sudo vim /Applications/MAMP/Library/my.cnf

Und so hinzufügen 

[mysqld]
max_allowed_packet = 256M
4
mirza vu

macOS High Sierra Version 10.13.6

mysql Ver 14.14 Distrib 5.7.22, für osx10.13 (x86_64) mit dem EditLine-Wrapper Copyright (c) 2000, 2018, Oracle und/oder seine verbundenen Unternehmen. Alle Rechte vorbehalten

Standardoptionen werden aus den folgenden Dateien in der angegebenen Reihenfolge gelesen:

/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/etc/my.cnf 
~/.my.cnf
2
Ayoub Palangi

Ich habe in macOS Sierra eingecheckt, das Homebrew installiert MySql 5.7.12

Die Unterstützungsdateien befinden sich unter 

/usr/local/opt/mysql/support-files

Kopieren Sie einfach my-default.cnf als /etc/my.cnf oder /etc/mysql/my.cnf und die Konfiguration wird beim Neustart abgeholt.

2

Ich verwende MySQL-Version 5.7.17 in MacOS High Sierra Version 10.13.3 und habe die MySQL-Konfigurationsdatei hier gefunden. 

cd /usr/local/mysql/support-files/my-default.cnf
1
Reaz Murshed

Öffne das Terminal und verwende den folgenden Befehl:

Sudo find / -name my.cnf
1
user33670

Sie können Ihre Datei in einem beliebigen Verzeichnis erstellen. Nach der Erstellung können Sie den Pfad zu mysql config "angeben":

 enter image description here

1
Shedom Wei

Für mich in Sierra Version

kopieren Sie die Standardkonfiguration unter:

/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

zu

/usr/local/Cellar/mysql/5.6.27/my.cnf

0
iamroald

LESEN SIE DIE DOCS!

Die MySQL-Dokumente für die von Ihnen verwendete Version helfen dabei. .__ wird normalerweise als Options File oder MySQL Config File beschrieben.
Die Dokumente enthalten den Speicherort dieser Dateien in der Dokumentation sowie andere VITAL-Informationen wie den Speicherort und kleine Beispiele, 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:

Auf Unix-Plattformen ignoriert MySQL Konfigurationsdateien, die weltweit beschreibbar sind.

Dies ist als Sicherheitsmaßnahme beabsichtigt.

Wenn Sie also falsche Berechtigungen für Ihre Konfigurationsdatei festgelegt haben, werden sie NICHT geladen.

Beispiel für die Erlaubnis zum erstmaligen Setup einer der Konfigurationsdateien:

RIZZOMBP$ ls -lah /etc/my.cnf
-rw-r--r--  1 myusername  wheel     0B Feb 25 20:40 /etc/my.cnf

Hinweis:

Es ist möglich, !include-Direktiven in Optionsdateien zu verwenden, um andere Optionsdateien einzuschließen, und !includedir, um bestimmte Verzeichnisse nach Optionsdateien zu durchsuchen.

...MySQL übernimmt keine Gewähr für die Reihenfolge, in der Optionsdateien im Verzeichnis gelesen werden ...

Alle Dateien, die unter Unix-Betriebssystemen mit der Direktive! Includedir gefunden und aufgenommen werden sollen, müssen mit Dateinamen auf .cnf enden. Unter Windows sucht diese Anweisung nach Dateien mit der Erweiterung .ini oder .cnf.

Beispiele, wie Sie den Speicherort Ihrer Konfigurations- oder Protokolldateien ermitteln können, ect .:

SQL

Dadurch wird die Konfigurationsdatei nicht angezeigt, aber Sie können Ihre Installationsdateien ordner leichter finden.

MySQL Version 5.7 & 8+

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

MySQL-Version <= 5.6

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

Shell/Terminal

RIZZOMBP$ mysql --help | grep "Default options" -A 1

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

Über dem Befehls-Credit an:/- Erwin Mayer von ServerFault

RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

OR

RIZZOMBP$ ps aux | grep -i mysqld | grep -v $USER

_mysql 106 0.4 2.5 4232336 422112 ?? Ss 7:01PM 0:57.12
/usr/local/mysql/bin/mysqld
--user=_mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--log-error=/usr/local/mysql/data/mysqld.local.err
--pid-file=/usr/local/mysql/data/mysqld.local.pid
--keyring-file-data=/usr/local/mysql/keyring/keyring
--early-plugin-load=keyring_file=keyring_file.so

Beispieldatei

Benötigen Sie ein detailliertes Referenzbeispiel my.cnf:

  1. https://Gist.github.com/search?utf8=%E2%9C%93&q=my.cnf+mysql&ref=searchresults
  2. https://www.linode.com/community/questions/5749/mysql-sample-config-files
  3. https://www.fromdual.com/mysql-configuration-file-sample

Keine Verbindung zu den URLs

Mein System:

RIZZOMBP$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.3
BuildVersion:   18D109
RIZZOMBP$ mysql -V
mysql  Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
RIZZOMBP$ mysqld -V
/usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysqld 
Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
0
JayRizzo

Kopieren Sie /usr/local/opt/mysql/support-files/my-default.cnf als /etc/my.cnf oder /etc/mysql/my.cnf und starten Sie dann mysql neu.

0

In meinem Fall war die Datei nicht vorhanden. In MySQL Workbench bin ich zu OPTIONS FILE gegangen und habe einige Standardwerte gefunden. Ich habe mich beworben. Es bat um Erlaubnis. Anschließend wurde die Datei my.cnf unter/etc erstellt. Beachten Sie jedoch, dass Sie beim ersten Klicken auf "Anwenden" keine Änderungen an der Standardkonfiguration vornehmen. Nachdem 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. 

0
Sameer Khanal

Für Mac hat das Erstellen einer .my.cnf-Datei in meinem Pfad ~ funktioniert. Hoffe das hilft.

0
Raman Singh

es sollte normalerweise unter /usr/local/etc auf dem Mac sein, wenn Sie es nicht finden, können Sie einen erstellen

0
Pravin

rDefault-Optionen werden aus den folgenden Dateien in der angegebenen Reihenfolge gelesen: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

0
Mayank Raipure

Nach der Version 5.7.18 von MySQL enthält es nicht die Standardkonfigurationsdatei im Verzeichnis für Unterstützungsdateien .. __ Sie können also meine.cnf-Datei manual an dem Speicherort erstellen, an dem MySQL wie/etc liest /mysql/my.cnf und fügen Sie die hinzuzufügende Konfiguration der Datei hinzu.

0
Eawaun