¿Existe un comando para determinar qué archivo de configuración está usando MySQL 5.0 actualmente?
mysql
configuration
yalestar
fuente
fuente
ps auxf
y encontrar el comando ejecutado para MySQL. Por lo general, parece algo comomysqld --basedir=/usr/local/mysql ...
(tenga en cuenta que ... solo significa que puede haber más indicadores en el comando, pero no lo enumeraré todo) Una vez que lo haya encontrado, copie todo y luego cierre MySQL. Si estás en Linux es/etc/init.d/mysqld stop
omysqladmin -u root -p shutdown
. Luego, ejecutestrace
con el comando mysql que copió. Así se vería así:strace mysqld --basedir=/usr/local/mysql
open(...
linea. En cambio, tengo 4 líneas que terminan con= -1 Err#2
. ¿Cómo sé ahora qué archivo está cargado?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe, esa salida probablemente significa que no se encontró ninguno de los archivos, por lo que ninguno se abrió.Tomado del fantástico libro O'Reilly "High Performance MySQL":
fuente
!includedir
. Estoy tratando de averiguar por qué la!includedir
directiva en mi/etc/mysql/my.cnf
archivo no funciona.mysqld
con la ruta completa?Si lo ejecuta
mysql --verbose --help | less
, le informará sobre la línea 11 qué.cnf
archivos buscará.También puede hacerlo
mysql --print-defaults
para mostrarle cómo usará los valores de configuración. Esto también puede ser útil para identificar qué archivo de configuración se está cargando.fuente
mysqld
lugar demysql
mysqld --print-defaults
, me dio exactamente lo que quería cuando busqué en Google esta pregunta.Estoy en Windows y he instalado la versión más reciente de MySQL community 5.6
Lo que hice para ver qué archivo de configuración usa fue ir a Herramientas administrativas> Servicios> MySQL56> Haga clic derecho> Propiedades y verifique la ruta al ejecutable:
"C: / Archivos de programa / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56
fuente
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
por defecto.Una alternativa es usar
fuente
mysqld --help --verbose es peligroso. ¡Puede sobrescribir fácilmente el archivo pid para ejecutar la instancia! úsalo con --pid-file = XYZ
Ah, y realmente no puedes usarlo si tienes más de 1 instancia ejecutándose. Solo le mostrará el valor predeterminado.
Muy buen artículo al respecto:
¿Cómo encontrar el archivo de configuración de MySQL?
fuente
Acabo de hacer una prueba rápida en ubuntu:
instaló mysql-server, que creó /etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1 "Opciones predeterminadas"
110112 13:35:26 [Nota] El complemento 'FEDERADO' está deshabilitado.
Las opciones predeterminadas se leen de los siguientes archivos en el orden dado: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf
creado /etc/my.cnf y /usr/etc/my.cnf, cada uno con un número de puerto diferente
reinició mysql: estaba usando el número de puerto establecido en /usr/etc/my.cnf
Mientras tanto, también encontré la opción --defaults-file para mysqld. Si especifica un archivo de configuración allí, solo se usará ese, independientemente de lo que devuelva / usr / sbin / mysqld --verbose --help | grep -A 1 "Opciones predeterminadas"
fuente
Usando MySQL Workbench, se mostrará en "Estado del servidor":
fuente
Esto me pareció realmente útil:
Control Panel -> Administration Tools
Properties
Path to executable
y vea si contiene la ruta almy.ini/my.cfg
fuente
Algunos servidores tienen múltiples versiones de MySQL instaladas y configuradas. Asegúrese de estar tratando con la versión correcta que se ejecuta con un comando Unix de:
fuente
Para las personas que ejecutan Windows Server con mysql como servicio, una manera fácil de averiguar qué archivo de configuración está ejecutando es abrir el panel de control de servicios, encontrar su servicio mysql (en mi caso, 'MYSQL56'), hacer clic derecho y hacer clic en propiedades . Luego, desde aquí, puede verificar la "Ruta al ejecutable", que debe tener un
defaults-file
interruptor que apunte a dónde está su archivo de configuración.fuente
En caso de que esté ejecutando mac, esto también se puede lograr mediante:
fuente
Si está en Windows, puede usar Sysinternals procmon . Ábralo y configure el filtro de esta manera, luego haga clic en "Agregar". Ahora procmon monitoreará mysqld.
Ahora inicie su servidor mysql como de costumbre. Procmon capturará las operaciones en segundo plano de mysql. Busca "mi". en el panel de resultados procmon y encontrarás algo como lo siguiente:
Está claro que mysql busca una lista de archivos de configuración a su vez. En mi caso, se encontró con
C:\mysql-5.7.19-winx64\my.cnf
éxito, así que está usando este.fuente
Instalé mysql use brew install mysql
Y eso nos muestra:
fuente