Existe-t-il une commande pour déterminer quel fichier de configuration MySQL 5.0 utilise actuellement?
mysql
configuration
yalestar
la source
la source
ps auxf
et trouver la commande exécutée pour MySQL. En général, cela ressemble à quelque chose commemysqld --basedir=/usr/local/mysql ...
(notez que ... signifie simplement qu'il peut y avoir plus d'indicateurs dans la commande mais je ne vais pas tout lister) Une fois que vous l'avez trouvé, copiez le tout, puis arrêtez MySQL. Si vous êtes sous Linux, c'est/etc/init.d/mysqld stop
oumysqladmin -u root -p shutdown
. Puis exécutezstrace
avec la commande mysql que vous avez copiée. Cela ressemblerait donc à ceci:strace mysqld --basedir=/usr/local/mysql
open(...
ligne. Au lieu de cela, j'ai 4 lignes qui se terminent par= -1 Err#2
. Comment savoir maintenant quel fichier est chargé?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe, cette sortie signifie probablement qu'aucun des fichiers n'a été trouvé, donc aucun n'a été ouvert.Tiré du fantastique livre O'Reilly "High Performance MySQL":
la source
!includedir
. J'essaie de comprendre pourquoi la!includedir
directive dans mon/etc/mysql/my.cnf
dossier ne fonctionne pas.mysqld
avec le chemin complet?!Si vous exécutez,
mysql --verbose --help | less
il vous indiquera sur la ligne 11 quels.cnf
fichiers il recherchera.Vous pouvez également faire
mysql --print-defaults
pour vous montrer comment les valeurs de configuration qu'il utilisera. Cela peut également être utile pour identifier le fichier de configuration qu'il charge.la source
mysqld
place demysql
mysqld --print-defaults
, cela m'a donné exactement ce que je voulais lorsque j'ai googlé cette question.Je suis sous Windows et j'ai installé la version la plus récente de la communauté MySQL 5.6
Ce que j'ai fait pour voir ce que le fichier de configuration utilise était d'aller dans Outils d'administration> Services> MySQL56> Clic droit> Propriétés et vérifier le chemin vers l'exécutable:
"C: / Program Files / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56
la source
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
par défaut.Une alternative consiste à utiliser
la source
mysqld --help --verbose est dangereux. Vous pouvez facilement écraser pidfile pour exécuter une instance! utilisez-le avec --pid-file = XYZ
Oh, et vous ne pouvez pas vraiment l'utiliser si vous avez plus d'une instance en cours d'exécution. Il ne vous montrera que la valeur par défaut.
Vraiment bon article à ce sujet:
Comment trouver le fichier de configuration MySQL?
la source
Je viens de faire un test rapide sur ubuntu:
installé mysql-server, qui a créé /etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1 "Options par défaut"
110112 13:35:26 [Note] Le plugin 'FEDERATED' est désactivé.
Les options par défaut sont lues à partir des fichiers suivants dans l'ordre indiqué: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf
créé /etc/my.cnf et /usr/etc/my.cnf, chacun avec un numéro de port différent
redémarré mysql - il utilisait le numéro de port défini dans /usr/etc/my.cnf
Entre-temps, nous avons également trouvé l'option --defaults-file dans mysqld. Si vous spécifiez un fichier de configuration là-bas, seul celui-ci sera utilisé, quel que soit ce qui est retourné par / usr / sbin / mysqld --verbose --help | grep -A 1 "Options par défaut"
la source
En utilisant MySQL Workbench, il sera affiché sous "État du serveur":
la source
J'ai trouvé cela vraiment utile:
Control Panel -> Administration Tools
Properties
Path to executable
et voyez s'il contient le chemin vers lemy.ini/my.cfg
la source
Certains serveurs ont plusieurs versions de MySQL installées et configurées. Assurez-vous que vous utilisez la bonne version exécutée avec une commande Unix de:
la source
Pour les personnes exécutant un serveur Windows avec mysql en tant que service, un moyen simple de savoir quel fichier de configuration vous exécutez consiste à ouvrir le panneau de configuration des services, à trouver votre service mysql (dans mon cas 'MYSQL56'), à faire un clic droit et à cliquer sur Propriétés . Ensuite, à partir de là, vous pouvez vérifier le "Chemin d'accès à l'exécutable" qui devrait avoir un
defaults-file
commutateur qui pointe vers l'emplacement de votre fichier de configuration.la source
Juste au cas où vous utilisez Mac, cela peut également être réalisé en:
la source
Si vous êtes sous Windows, vous pouvez utiliser Sysinternals procmon . Ouvrez-le et configurez le paramètre de filtre comme celui-ci, puis cliquez sur "Ajouter". Maintenant, procmon surveillera mysqld.
Maintenant, démarrez votre serveur mysql normalement. Procmon capturera les opérations d'arrière-plan de mysql. Recherchez «mon». dans le volet de résultats de procmon et vous trouverez quelque chose comme ce qui suit:
Il est clair que mysql recherche tour à tour une liste de fichiers de configuration. Dans mon cas, il a été trouvé
C:\mysql-5.7.19-winx64\my.cnf
avec succès, il utilise donc celui-ci.la source
J'ai installé mysql use brew install mysql
Et cela montre:
la source