MySQL Log en Linux
Empecemos viendo los tipos de log que podemos encontrar, mysql posee varios tipos de logs que nos pueden ayudar a ver lo que pasa/paso y esta pasando con nuestro mySQL.
| Tipo | Descripción |
| Error log | Problemas encontrados en el inicio, duarnte la ejecución y cuando se detiene mysqld. |
| Query log | Conecciones y statement realizados por los clientes |
| Binary log | Cualquier sentencia que cambie datos |
| The slow query log (lentitud) |
Todas las consultas que tomen mas tiempo que el establecido en long_query_time (esta en segundos) o aquellas que no utilicen indices (tipico tablescan). |
Versión de OS y mysql que estoy utilizando
achiola@achiola-laptop:/var/log$ uname -a Linux achiola-laptop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x86_64 GNU/Linux achiola@achiola-laptop:/var/log$ mysql --version mysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (x86_64) using readline 5.2
Error log
Ubicación por defecto: en ubuntu/debian estos log son almacenados no en /var/log/mysql.err, sino, directamente en /var/log/syslog
Personalmente me gusta tener por separado los log, por ese motivo voy a cambiar la ubicacion y el nombre del archivo donde mysql guarda los error log
Editamos el archivo /etc/mysql/my.cnf y buscamos la etiqueta [mysqld]
[mysqld] # # * Basic Settings # # # * IMPORTANT # If you make changes to these settings and your system uses apparmor, you may # also need to also adjust /etc/apparmor.d/usr.sbin.mysqld. # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp log-error = /var/log/mysql/mysql.err skip-external-locking
hay que agregar la linea 19 "log-error =/path/nombre". Luego detenemos mysql y lo volvemos a levantar
achiola@achiola-laptop:/var/log/mysql$ sudo /etc/init.d/mysql stop * Stopping MySQL database server mysqld [ OK ] achiola@achiola-laptop:/var/log/mysql$ sudo /etc/init.d/mysql start * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables.
y ya podemos ver el archivo de log en la nueva ubicacion.
achiola@achiola-laptop:/var/log/mysql$ l total 4,0K -rw-rw---- 1 mysql adm 1,1K 2009-06-27 13:56 mysql.err achiola@achiola-laptop:/var/log/mysql$ cat mysql.err 090627 13:42:41 InnoDB: Started; log sequence number 0 43675 090627 13:42:41 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.0.75-0ubuntu10.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu) 090627 13:44:42 [Note] /usr/sbin/mysqld: Normal shutdown 090627 13:44:42 InnoDB: Starting shutdown... 090627 13:44:44 InnoDB: Shutdown completed; log sequence number 0 43675 090627 13:44:44 [Note] /usr/sbin/mysqld: Shutdown complete 090627 13:45:13 InnoDB: Started; log sequence number 0 43675 090627 13:45:13 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.0.75-0ubuntu10.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu) 090627 13:56:33 [Note] /usr/sbin/mysqld: Normal shutdown 090627 13:56:33 InnoDB: Starting shutdown... 090627 13:56:34 InnoDB: Shutdown completed; log sequence number 0 43675 090627 13:56:34 [Note] /usr/sbin/mysqld: Shutdown complete 090627 13:56:40 InnoDB: Started; log sequence number 0 43675 090627 13:56:40 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.0.75-0ubuntu10.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)

Comentarios
Buen blog
Enviar un comentario nuevo