varios una tabla soporta seleccionar segundo registro por optimizar lentas ejemplos cuantas consultas consultar como campos mysql logging

soporta - seleccionar varios campos de una tabla en mysql



¿Cómo ver archivos de registro en MySQL? (8)

Además de las respuestas anteriores, puede pasar parámetros de línea de comando al proceso mysqld para las opciones de registro en lugar de editar manualmente su archivo conf. Por ejemplo, para habilitar el registro general y especificar un archivo:

mysqld --general-log --general-log-file=/var/log/mysql.general.log

Confirmando otras respuestas arriba, mysqld --help --verbose le da los valores del archivo conf (por lo tanto, ejecutar con opciones de línea de comando general-log es FALSE); mientras que mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log da:

general_log ON general_log_file /var/log/mysql.general.log

Use una sintaxis un poco más compacta para el registro de errores:

mysqld --general-log --general-log-file=/var/log/mysql.general.log --log-error=/var/log/mysql.error.log

He leído que el servidor Mysql crea un archivo de registro donde guarda un registro de todas las actividades, como cuándo y qué consultas ejecutar.

¿Alguien puede decirme dónde está en mi sistema? ¿Cómo puedo leerlo?

Básicamente, necesito hacer una copia de seguridad de la base de datos con una entrada diferente [copia de seguridad entre dos fechas], así que creo que necesito usar el archivo de registro aquí, es por eso que quiero hacerlo ...

Creo que este registro debe asegurarse de alguna manera porque la información sensible como los nombres de usuario y la contraseña pueden registrarse [si alguna consulta lo requiere]; entonces, ¿puede ser asegurado, no fácilmente visible?

Tengo acceso de root al sistema, ¿cómo puedo ver el registro?

Cuando intento abrir /var/log/mysql.log, está vacío.

Este es mi archivo de configuración:

[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] log = /var/log/mysql/mysql.log binlog-do-db=zero user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 general_log_file = /var/log/mysql/mysql.log general_log = 1


Aquí hay una forma simple de habilitarlos. En mysql tenemos que ver a menudo 3 registros que se necesitan principalmente durante el desarrollo de cualquier proyecto.

  • The Error Log . Contiene información sobre los errores que se producen mientras el servidor se está ejecutando (también el servidor se inicia y se detiene)

  • The General Query Log . Este es un registro general de lo que está haciendo mysqld (conectar, desconectar, consultar)

  • The Slow Query Log . Consistst consiste en declaraciones SQL "lentas" (como lo indica su nombre).

Por defecto, no hay archivos de registro habilitados en MYSQL. Todos los errores se mostrarán en el registro del sistema. (/ Var / log / syslog)

Para habilitarlos solo sigue los pasos a continuación

Paso 1: vaya a este archivo ( /etc/mysql/conf.d/mysqld_safe_syslog.cnf ) y elimine o comente esa línea.

paso2: ve al archivo mysql conf (/etc/mysql/my.cnf) y agrega las siguientes líneas

Para habilitar el registro de errores, agregue los siguientes

[mysqld_safe] log_error=/var/log/mysql/mysql_error.log [mysqld] log_error=/var/log/mysql/mysql_error.log

Para habilitar el registro general de consultas, agregue el siguiente

general_log_file = /var/log/mysql/mysql.log general_log = 1

Para habilitar el registro de consulta lenta, agregue lo siguiente

log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 2 log-queries-not-using-indexes

paso3: guarda el archivo y reinicia mysql usando los siguientes comandos

service mysql restart

Para habilitar los registros en tiempo de ejecución, inicie sesión en el cliente mysql (mysql -u root -p) y proporcione:

SET GLOBAL general_log = ''ON''; SET GLOBAL slow_query_log = ''ON'';

Finalmente, una cosa que me gustaría mencionar aquí es que leí esto de un blog . Gracias. Esto funciona para mi.

Haga clic here para visitar el blog


Del manual de referencia de MySQL:

Por defecto, todos los archivos de registro se crean en el directorio de datos.

Verifique la carpeta /var/lib/mysql .


En mi archivo (I have LAMP installed) / etc / mysql / my.cnf encontré las siguientes líneas comentadas en la sección [mysqld]:

general_log_file = /var/log/mysql/mysql.log general_log = 1

Tuve que abrir este archivo como superusuario, con terminal:

sudo geany /etc/mysql/my.cnf

(Prefiero usar Geany en lugar de gedit o VI, no importa)

Acabo de comentarlos y guardar el archivo, luego restatt mysql con

sudo service mysql restart

Ejecuta varias consultas, abre el archivo superior (/var/log/mysql/mysql.log) y el registro estaba allí :)


Los registros de MySQL están determinados por las variables globales tales como:

  • log_error para el registro de mensajes de error;
  • general_log_file para el archivo de registro de consulta general (si está habilitado por general_log );
  • slow_query_log_file para el archivo de registro de consultas lento (si lo habilitó slow_query_log );

Para ver la configuración y su ubicación, ejecute este comando de shell:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

Para imprimir el valor del registro de errores, ejecute este comando en la terminal:

mysql -e "SELECT @@GLOBAL.log_error"

Para leer el contenido del archivo de registro de errores en tiempo real, ejecute:

sudo tail -f $(mysql -Nse "SELECT @@GLOBAL.log_error")

Nota: Hit Control - C cuando termine

Cuando el registro general está habilitado, intente:

sudo tail -f $(mysql -Nse "SELECT CONCAT(@@datadir, @@general_log_file)")

Para usar mysql con el acceso de contraseña, agregue el parámetro -p o -pMYPASS . Para mantenerlo recordado, puede configurarlo en su ~/.my.cnf , por ej.

[client] user=root password=root

Entonces será recordado por la próxima vez.


Para complementar la respuesta de log_slow_queries vale la pena mencionar que a partir de MySQL 5.1, log_slow_queries está en desuso y se reemplaza por slow-query-log

El uso de log_slow_queries hará que el service mysql restart o el service mysql start a fallar.


Tienes que activar el registro de consultas en mysql.

1.edit /etc/my.cnf

[mysqld] log=/tmp/mysql.log

2. reinicie la computadora o el servicio mysqld

service mysqld restart

3. Abra phpmyadmin / cualquier aplicación que use la consola mysql / mysql y ejecute una consulta

4.cat /tmp/mysql.log (debería ver la consulta)


shell> mysqladmin flush-logs shell> mv host_name.err-old backup-directory