Pour les installations homebrew mysql, où est my.cnf? En installe-t-il un?
293
Il n'y a pas my.cnf par défaut. En tant que tel, MySQL démarre avec tous les paramètres par défaut. Si vous souhaitez créer votre propre my.cnf pour remplacer les valeurs par défaut, placez-le dans /etc/my.cnf.
En outre, vous pouvez l'exécuter mysql --help
et le rechercher pour les emplacements de conf répertoriés.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
Comme vous pouvez le voir, il existe également des options pour contourner les fichiers conf ou pour spécifier d'autres fichiers à lire lorsque vous appelez mysql sur la ligne de commande.
ls $(brew --prefix mysql)/*.cnf
mysql --help | grep cnf
était en fait plus facile de trouver les lignes.Le homebrew mysql contient des exemples de fichiers de configuration dans le dossier des fichiers de support de l'installation.
Si vous devez modifier les paramètres par défaut, vous pouvez utiliser l'un d'eux comme point de départ.
Comme le souligne @rednaw, une installation homebrew de MySQL sera probablement présente,
/usr/local
donc le fichier my.cnf ne doit pas être ajouté au/etc
dossier système , j'ai donc changé la commande pour copier le fichier/usr/local/etc
.Si vous utilisez MariaDB plutôt que MySQL, utilisez ce qui suit:
la source
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
/usr/local/
(qui est la valeur par défaut je pense), vous pouvez également placermy.conf
in/usr/local/etc/
, qui ne nécessite pas de privilèges root.brew --prefix mariadb
. Dans la distribution MariaDB, lemy-default.cnf
n'existe pas - utilisez doncmy-small.cnf
. Essayez cecicp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
Une façon de le savoir:
la source
mdfind -name my.cnf
place de lalocate
commande sur OSXlocate my.cnf
travaillé directement. Je n'ai pas courusudo /usr/libexec/locate.updatedb
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnf
et/usr/local/etc/my.cnf
c'est ce que j'ai eudans mon système c'était
comme modèle et
comme travail.
la source
Rien ne m'a vraiment aidé - je ne pouvais pas écraser les paramètres dans un fichier /etc/my.cnf. J'ai donc cherché comme John l'a suggéré https://stackoverflow.com/a/7974114/717251
Il a trouvé un autre my.cnf dans
la modification de ce fichier a fonctionné pour moi! N'oubliez pas de redémarrer l'agent de lancement:
Mettre à jour:
Si vous avez une installation assez récente de homebrew, vous devez utiliser les commandes brew services pour redémarrer mysql (utilisez votre version installée de homebrew mysql, c'est-à-dire mysql ou [email protected]):
la source
brew services stop mysql
etbrew services start mysql
à la place deslaunchctl unload ...
lignes.Puisqu'il
mysql --help
affiche une liste de fichiers, je trouve utile de diriger le résultatls
pour voir lesquels existent:Pour mon (Homebrew installé) MySQL 5.7, il semble que les fichiers soient activés
/usr/local/etc/my.cnf
.la source
Sur votre type de coque
my_print_defaults --help
Au bas du résultat, vous devriez pouvoir voir le fichier à partir duquel le serveur lit les configurations. Il imprime quelque chose comme ceci:
la source
Vous pouvez trouver où le
my.cnf
fichier a été fourni par le package spécifique, par exempleEn plus de vérifier si ce fichier est lu, vous pouvez exécuter:
qui vous montrera l'activité du système de fichiers en temps réel liée à ce fichier.
la source
Je crois que la réponse est non. L'installation d'un dans ~ / .my.cnf ou / usr / local / etc semble être la solution préférée.
la source
Dans le cas de Homebrew, mysql rechercherait également my.cnf dans son répertoire Cellar, par exemple:
Pour le cas on préfère garder la config proche des binaires - créez
my.cnf
ici si elle manque.Redémarrez mysql après le changement:
la source
Version du serveur: 8.0.19 Homebrew. macOS Catalina 10.15.5 et installé MySQL via Homebrew. Trouvé ce fichier ici:
Cette solution a aidé :)
la source
Pour MacOS (High Sierra), MySQL qui a été installé avec Home Brew.
L'augmentation des variables globales de l'environnement mysql n'a pas réussi. Dans ce cas, la création de ~ / .my.cnf est l'option la plus sûre. L'ajout de variables avec [mysqld] inclura les changements (Remarque: si vous changez avec [mysql], le changement pourrait ne pas fonctionner).
Redémarrez le serveur mysql. et vérifiez les variables. y
1 rangée en jeu (0,00 sec)
la source
$ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin
Déposez votre fichier my.cf dans
/usr/local/opt/mysql
brew services restart mysql
la source