web-dev-qa-db-fra.com

Emplacement du fichier my.cnf sur macOS

J'essaie de suivre ce tutoriel pour activer l'accès à distance à MySQL. Le problème est, où le fichier my.cnf doit-il être situé? J'utilise Mac OS X Lion.

142
nicolas

Ce fil de discussion sur le forum MySQL dit:

Par défaut, l'installation OS X n'utilise pas my.cnf et MySQL n'utilise que les valeurs par défaut. Pour configurer votre propre fichier my.cnf, vous pouvez simplement créer un fichier directement dans/etc. 

OS X fournit des exemples de fichiers de configuration à /usr/local/mysql/support-files/.

Et si vous ne les trouvez pas ici, MySQLWorkbench peut les créer pour vous en:

  1. Ouvrir une connexion
  2. Sélection du "Fichier d'options" sous "INSTANCE" dans le menu.
  3. MySQLWorkbench va rechercher my.cnf et s'il ne le trouve pas, il le créera pour vous.
223
bfavaretto

Dans le cas de Mac OS X Maverick lorsque MySQL est installé via Homebrew, il se trouve à /usr/local/opt/mysql/my.cnf

69
Eigengrau

En général, sur les systèmes Unix et de type Unix, les programmes MySQL/MariaDB lisent les fichiers de configuration/démarrage aux emplacements suivants (dans l'ordre spécifié):

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

    SYSCONFDIR représente le répertoire spécifié avec l'option SYSCONFDIR à CMake lors de la construction de MySQL. Par défaut, il s'agit du répertoire etc situé sous le répertoire d'installation compilé.

  • $MYSQL_HOME/my.cnf - Spécifique au serveur (serveur uniquement)

    MYSQL_HOME est une variable d'environnement contenant le chemin d'accès au répertoire dans lequel réside le fichier my.cnf spécifique au serveur. Si MYSQL_HOME n'est pas défini et que vous démarrez le serveur à l'aide du programme mysqld_safe, mysqld_safe le configure sur BASEDIR, le répertoire d'installation de base de MySQL.

  • fichier spécifié avec --defaults-extra-file=path le cas échéant

  • ~/.my.cnf - Spécifique à l'utilisateur
  • ~/.mylogin.cnf - Spécifique à l'utilisateur (clients uniquement)

Source: Utilisation des fichiers d’option .

Remarque: Sur les plates-formes Unix, MySQL ignore les fichiers de configuration en écriture universelle. C'est intentionnel en tant que mesure de sécurité.


De plus, sur Mac, il existe un moyen simple de le vérifier.

  1. Exécuter: Sudo fs_usage | grep my.cnf

    Cela signalera toute activité du système de fichiers en temps réel liée à ce fichier.

  2. Dans un autre terminal, redémarrez MySQL/MariaDB, par exemple.

    brew services restart mysql
    

    ou:

    brew services restart mariadb
    
  3. Sur le terminal avec fs_usage, l'emplacement approprié doit être indiqué, par exemple.

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

    Donc, si le fichier n'existe pas, créez-en un.

42
kenorb

J'ignore quelle version de MySQL vous utilisez, mais voici les emplacements possibles du fichier my.cnf pour la version 5.5 (tiré de ici ) sur 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 (le fichier spécifié avec --defaults-extra-file=path, le cas échéant)
  6. ~/.my.cnf
30
Jeffrey Chung

Pour MySQL 5.7 sur Mac OS X El Capitan: /usr/local/mysql/etc/my.cnf

Copier la configuration par défaut à partir de /usr/local/mysql/support-files/my-default.cnf

19
Sergio Rodrigues

Si vous utilisez macOS Sierra et que le fichier n'existe pas, Run 

mysql --help or mysql --help | grep my.cnf 

pour voir les emplacements possibles et la séquence de chargement/lecture de my.cnf pour mysql, créez un fichier my.cnf dans l’un des répertoires suggérés, puis ajoutez la ligne suivante 

[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

Vous pouvez Sudo touch /{preferred-path}/my.cnf puis éditer le fichier pour ajouter le mode SQL en 

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

Puis redémarrez mysql, voila vous êtes prêt à partir. bonne codage

12
Gpak

Le package actuel de MySQL pour Mac OS X Mavericks (mysql-5.6.17-osx10.7-x86_64 au moment de l'écriture de cette lettre) crée automatiquement un fichier my.cnf lors de l'installation. 

Il est situé à /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
Adaptez votre chemin en fonction de votre version.

12
Jpsy

Dans mysql 5.6.22, que je l'ai installé depuis Homebrew, le chemin de my.cnf est 

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

Vous pouvez ouvrir un terminal et taper locate my.cnf

9
sreimer

Donc, aucune de ces choses n'a fonctionné pour moi. J'utilise actuellement l'installation dmg du serveur de communauté mysql. Le ps montre que tous les paramètres les plus critiques normalement dans my.cnf sont passés sur la ligne de commande, et je ne pouvais pas comprendre d'où cela venait. Après une recherche en texte intégral de ma boîte, je l’ai trouvée dans:

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

Ainsi, vous pouvez soit les modifier ici, soit les supprimer afin qu'il respecte réellement celles que vous avez dans votre fichier.cnf, où que vous ayez décidé de le mettre.

Prendre plaisir!

Exemple d'informations de fichier trouvées dans ce fichier:

<?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

Vous pouvez vérifier le fichier 

/usr/local/bin/mysql.server et voir d'où est lu le my.conf

Il s'agit généralement de /etc/my.cnf ou ~/my.cnf ou ~/.my.cnf

6
Vazgen Manukyan

macOs sierra 10.12.6 version mysql: 5.7.18_1 Je lance localise mon.cnf et le chemin est 

/usr/local/etc/my.cnf

j'espère que cela vous aidera.

5
aginanjar

Pour MAMP 3.5 Mac El Capitan, créez un fichier de configuration vide séparé et écrivez vos paramètres supplémentaires pour mysql

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

Et ajouter comme ça 

[mysqld]
max_allowed_packet = 256M
4
mirza vu

macOS High Sierra version 10.13.6

mysql Ver 14.14 Distrib 5.7.22, pour osx10.13 (x86_64) en utilisant le wrapper EditLine Copyright (c) 2000, 2018, Oracle et/ou ses filiales. Tous les droits sont réservés

Les options par défaut sont lues dans les fichiers suivants dans l’ordre donné:

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

J'ai vérifié dans macOS Sierra, l'homebrew installé MySql 5.7.12

Les fichiers de support sont situés à 

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

Copiez simplement my-default.cnf en tant que /etc/my.cnf ou /etc/mysql/my.cnf et la configuration sera reprise au redémarrage.

2
Abhishesh Sharma

J'utilise la version 5.7.17 de mysql dans macOS High Sierra version 10.13.3 et j'ai trouvé le fichier de configuration mysql ici. 

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

Ouvrez Terminal et utilisez la commande ci-dessous:

Sudo find / -name my.cnf
1
user33670

Vous pouvez créer votre fichier dans le répertoire de votre choix. Après la création, vous pouvez "indiquer" le chemin d'accès à la configuration de mysql:

 enter image description here

1
Shedom Wei

Pour moi en version sierra

copier la configuration par défaut à:

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

à

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

0
iamroald

LISEZ LES DOCS!

Les documents MySQL pour la version que vous utilisez aideront. Il est généralement décrit comme un Options File ou un MySQL Config File.
Les documents ont l’emplacement de ces fichiers dans la documentation, ainsi que d’autres informations VITAL telles que l’emplacement et de petits exemples de ce à quoi le fichier de configuration doit ressembler.

MySQL version 8

MySQL version 5.7

MySQL version 5.6

MySQL version 5.5

MySQL version 5.6 japonaise

Notes IMPORTANTES:

Sur les plateformes Unix, MySQL ignore les fichiers de configuration accessibles en écriture.

C'est intentionnel en tant que mesure de sécurité.

En d'autres termes, si vous avez les mauvaises autorisations définies sur votre fichier de configuration, cela ne se chargera PAS.

Exemple d'autorisation d'installation initiale de l'un des fichiers de configuration:

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

Remarque:

Il est possible d'utiliser les directives !include dans les fichiers d'options pour inclure d'autres fichiers d'options et !includedir pour rechercher des répertoires spécifiques dans des fichiers d'options .....

...MySQL ne donne aucune garantie sur l'ordre dans lequel les fichiers d'options du répertoire seront lus ...

Tous les fichiers à trouver et à inclure à l'aide de la directive! Includedir sur les systèmes d'exploitation Unix doivent avoir un nom de fichier se terminant par .cnf. Sous Windows, cette directive recherche les fichiers portant l’extension .ini ou .cnf.

Exemples de recherche de l'emplacement de vos fichiers de configuration ou de log, etc.:

SQL

Cela ne vous montrera pas le fichier de configuration mais vous aidera à localiser vos fichiers/dossiers d’installation.

MySQL version 5.7 et 8+

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

Version MySQL <= 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

Au-dessus des crédits de commande pour: Erwin Mayer de 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

Exemple de fichier

Si vous avez besoin d'un exemple de référence détaillé, 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

Aucune affiliation/association aux URL

Mon système:

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

Copiez /usr/local/opt/mysql/support-files/my-default.cnf en tant que /etc/my.cnf ou /etc/mysql/my.cnf puis redémarrez mysql.

0

Dans mon cas, le fichier n'existait pas. Dans MySQL Workbench, je suis allé dans OPTIONS FILE et j'ai trouvé des valeurs par défaut. J'ai cliqué sur Appliquer. Il a demandé la permission. Il a ensuite créé le fichier my.cnf sous/etc. Cependant, il est très important de garder à l'esprit que la première fois que vous cliquez sur "Appliquer", vous n'apportez aucune modification à la configuration par défaut. Une fois le fichier créé, vous pouvez apporter des modifications qui seront appliquées lorsque vous cliquerez sur "Appliquer". Sinon, le bouton Appliquer n'apparaîtra pas lorsque vous apporterez des modifications. 

0
Sameer Khanal

Pour Mac, ce qui a fonctionné pour moi, c’est de créer un fichier .my.cnf dans mon ~ chemin. J'espère que cela t'aides.

0
Raman Singh

il devrait être généralement sous /usr/local/etc sur mac si vous ne le trouvez pas, vous pouvez en créer un

0
Pravin

les options par défaut sont lues dans les fichiers suivants, dans l'ordre indiqué: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

0
Mayank Raipure

Après la version 5.7.18 de MySQL, le fichier de configuration par défaut n'est pas fourni dans le répertoire des fichiers de support . Vous pouvez donc créer le fichier my.cnf manuellement à l'emplacement où lira MySQL, comme/etc /mysql/my.cnf et ajoutez la configuration que vous souhaitez ajouter au fichier.

0
Eawaun