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.
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:
Dans le cas de Mac OS X Maverick lorsque MySQL est installé via Homebrew, il se trouve à /usr/local/opt/mysql/my.cnf
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
- GlobalSYSCONFDIR/my.cnf
- Global
SYSCONFDIR
représente le répertoire spécifié avec l'optionSYSCONFDIR
à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 fichiermy.cnf
spécifique au serveur. SiMYSQL_HOME
n'est pas défini et que vous démarrez le serveur à l'aide du programmemysqld_safe
,mysqld_safe
le configure surBASEDIR
, 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.
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.
Dans un autre terminal, redémarrez MySQL/MariaDB, par exemple.
brew services restart mysql
ou:
brew services restart mariadb
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.
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:
/etc/my.cnf
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf
defaults-extra-file
(le fichier spécifié avec --defaults-extra-file=path
, le cas échéant)~/.my.cnf
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
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
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.
Dans mysql 5.6.22, que je l'ai installé depuis Homebrew, le chemin de my.cnf est
/usr/local/opt/mysql/my.cnf
Vous pouvez ouvrir un terminal et taper locate my.cnf
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>
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
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.
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
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
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.
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
Ouvrez Terminal et utilisez la commande ci-dessous:
Sudo find / -name my.cnf
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
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.
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
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.:
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 '%\/%';
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
Si vous avez besoin d'un exemple de référence détaillé, my.cnf:
Aucune affiliation/association aux URL
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)
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.
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.
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.
il devrait être généralement sous /usr/local/etc
sur mac si vous ne le trouvez pas, vous pouvez en créer un
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
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.