Perdimos nuestro archivo my.cnf y nos preguntamos si hay una manera de exportar una copia de la instancia de mysql actualmente en ejecución.
¡Gracias!
Tres (3) opciones
OPCIÓN 1: desde el cliente mysql
mysql -uroot -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
Esto capturará todas las opciones en el archivo de texto.
OPCIÓN 2: desde la línea de comandos de Linux
ps -ef | grep mysqld | grep -v grep
Esto mostrará las opciones con las que mysqld comenzó como se establece en mysqld_safe
OPCIÓN 3: Pregunte al servidor directamente
mysqld --help --verbose
En la parte inferior de la pantalla 'mysqld --help --verbose', verá la configuración actual mysqld cargada desde my.cnf o predeterminada.
Estas instrucciones son para el stock mariadb en centos 7.1.
Aquí se explica cómo hacer una copia de seguridad o replicar la configuración actual de una máquina en una nueva instalación, presente o futura.
En la máquina desde la que queremos copiar la configuración, podemos ejecutar:
En otra máquina, podemos instalar mariadb-server y ejecutar:
Luego colocamos ambos archivos en un directorio, que en este ejemplo es "/ a /".
Luego corremos:
Si no hay salida, los dos archivos son idénticos. Lo que significa que todas las configuraciones, en ambas máquinas, están por defecto.
Si hay algo de salida, algunas líneas no se sangrarán, mientras que algunas líneas se sangrarán.
Las líneas no sangradas están presentes solo en el primer archivo, que aquí es /a/mysql_current_settings.txt.
Las líneas interminables están presentes solo en el segundo archivo, que aquí es /a/mysql_default_settings.txt.
Ahora conocemos todas las configuraciones, excepto algunas configuraciones que se establecen en la línea de comando que inició mysqld. Esta configuración puede provenir de /etc/my.cnf, o /etc/my.cnf.d/*, o un script personalizado, o un alias, etc. En cualquier caso, podemos verlos con el siguiente comando:
Ahora conocemos las pocas configuraciones que tenemos que cambiar en una nueva instalación para configurarla como la anterior.
Aquí siguen algunos otros detalles.
En centos 7.1, el siguiente comando muestra todas las configuraciones actuales, excepto algunas configuraciones que se establecen en la línea de comando que inició mysqld:
En total, muestra:
en la primera parte, la configuración que podemos usar como primer parámetro después de "mysqld" cuando la iniciamos;
en la segunda parte, la configuración establecida en tiempo de compilación;
en la tercera parte, la configuración actual.
Incluso si la última línea de su salida dice: para ver qué valores está utilizando un servidor MySQL en ejecución, escriba:
ese comando no muestra, fe, bind-address, incluso si lo cambiamos en /etc/my.cnf y reiniciamos mysql.
Además, el siguiente comando muestra muchas configuraciones pero no "bind-address":
Tenga en cuenta que, en centos 7.1, mysqld no está en $ PATH.
fuente
Aquí está mi forma favorita de generar un my.cnf actual:
Sin embargo, esto no funciona de manera confiable para Mac OS X.
Esto generará un registro limpio de variables, comentado, listo para importar a su my.cnf.
Fuente original: http://www.askapache.com/mysql/view-mysql-variables-my-cnf.html
fuente
mysqld -V|sed 's,^.*\(V.*\)\ for.*,\1,'
. No estoy seguro de que importe, ya que creo que tanto el cliente como el servidor están instalados juntos. ¿Cuál es el propósito de{{{1
y1}}}
?