[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Logs de mysql replicados e incompletos






De: Gorka <gorkalinux@yahoo.es>
Para: LINUX CA <debian-user-spanish@lists.debian.org>
Enviado: miércoles, 23 de septiembre, 2009 9:19:05
Asunto: RE: Logs de mysql replicados e incompletos



>-----Mensaje original-----
>De: Federico Juarez [mailto:vafe@vafe.com.ar]
>Enviado el: martes, 22 de septiembre de 2009 16:13
>Para: LINUX CA
>Asunto: Re: Logs de mysql replicados e incompletos
>
>Gorka escribió:
>>
>>
>>
>> Buenos días.
>>
>>
>>
>> A ver si pueden ayudarme. Tengo en mi Etch un servidor mysql que me
>> genera los siguientes logs:
>>
>>
>>
>> /var/log# ls -l mysql*
>>
>> -rw-r----- 1 root  root    0 2009-09-09 09:42 mysql.err
>>
>> -rw-r----- 1 mysql adm    0 2009-09-22 07:38 mysql.log
>>
>> -rw-r----- 1 root  root  20 2009-09-21 07:36 mysql.log.1.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-20 07:36 mysql.log.2.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-19 07:36 mysql.log.3.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-18 07:35 mysql.log.4.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-17 07:35 mysql.log.5.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-16 07:35 mysql.log.6.gz
>>
>> -rw-r----- 1 root  root  20 2009-09-15 07:35 mysql.log.7.gz
>>
>>
>>
>> mysql:
>>
>> total 1844
>>
>> -rw-rw---- 1 root  root  1616 2009-09-12 07:35 mysql-bin.000616
>>
>> -rw-rw---- 1 root  root    141 2009-09-13 07:37 mysql-bin.000617
>>
>> -rw-rw---- 1 root  root    141 2009-09-14 07:35 mysql-bin.000618
>>
>> -rw-rw---- 1 root  root  3893 2009-09-15 07:35 mysql-bin.000619
>>
>> -rw-rw---- 1 root  root  4744 2009-09-16 07:35 mysql-bin.000620
>>
>> -rw-rw---- 1 root  root  6357 2009-09-17 07:35 mysql-bin.000621
>>
>> -rw-rw---- 1 root  root  1350 2009-09-18 07:35 mysql-bin.000622
>>
>> -rw-rw---- 1 root  root  3561 2009-09-19 07:36 mysql-bin.000623
>>
>> -rw-rw---- 1 root  root    141 2009-09-20 07:36 mysql-bin.000624
>>
>> -rw-rw---- 1 root  root    141 2009-09-21 07:36 mysql-bin.000625
>>
>> -rw-rw---- 1 root  root  78877 2009-09-22 07:38 mysql-bin.000626
>>
>> -rw-rw---- 1 root  root    352 2009-09-21 07:36 mysql-bin.index
>>
>> -rw-r----- 1 mysql adm      0 2009-09-22 07:38 mysql.log
>>
>> -rw-r----- 1 root  root 309376 2009-09-22 07:38 mysql.log.1.gz
>>
>> -rw-r----- 1 root  root 137246 2009-09-21 07:36 mysql.log.2.gz
>>
>> -rw-r----- 1 root  root 276253 2009-09-20 07:36 mysql.log.3.gz
>>
>> -rw-r----- 1 root  root 298745 2009-09-19 07:36 mysql.log.4.gz
>>
>> -rw-r----- 1 root  root 248259 2009-09-18 07:35 mysql.log.5.gz
>>
>> -rw-r----- 1 root  root 223874 2009-09-17 07:35 mysql.log.6.gz
>>
>> -rw-r----- 1 root  root 215338 2009-09-16 07:35 mysql.log.7.gz
>>
>>
>>
>> -Fijense en que, por un lado, me genera por duplicado los .gz, tanto
>> en /var/log/ como en /var/log/mysql/. ¿Es un error? ¿Cómo puedo
>evitarlo?
>>
>> -Por otra parte, si abro con el comando mysqlbinlog el último binlog
>> (delete, insert, …) sólo me llegan hasta las 7:30 de esta mañana, y
>> son más de las 11:00. ¿Por qué? ¿Dónde está el binlog de las 7:30
>> hasta ahora?
>>
>> -Y para finalizar, tanto mysql.log como mysql.err están vaciós con lo
>> cual no puedo ver el registro general de consultas (selects, …) ¿Por
>> qué, si lo tengo habilitado en el my.cnf?
>>
>>
>>
>> Les dejo mi my.cnf:
>>
>>
>>
>> # * Logging and Replication
>>
>> #
>>
>> # Both location gets rotated by the cronjob.
>>
>> # Be aware that this log type is a performance killer.
>>
>> log            = /var/log/mysql/mysql.log
>>
>> #
>>
>> # Error logging goes to syslog. This is a Debian improvement :)
>>
>> #
>>
>> # Here you can see queries with especially long duration
>>
>> #log_slow_queries      = /var/log/mysql/mysql-slow.log
>>
>> #long_query_time = 2
>>
>> #log-queries-not-using-indexes
>>
>> #
>>
>> # The following can be used as easy to replay backup logs or for
>> replication.
>>
>> #server-id              = 1
>>
>> log_bin                = /var/log/mysql/mysql-bin.log
>>
>> # WARNING: Using expire_logs_days without bin_log crashes the server!
>> See README.Debian!
>>
>> expire_logs_days        = 10
>>
>> max_binlog_size        = 500M
>>
>> #binlog_do_db          = include_database_name
>>
>> #binlog_ignore_db      = include_database_name
>>
>>
>>
>>
>>
>>
>>
>>
>>
>el mysql.log de /var/log te lo va acreando por que el archivo ese lo
>crea cuando instalar mysql, y el logrotate al verlo hace la
>correspondiente rotacion, como podras ver el archivo mide 20bytes que es
>un numero irrisorio, con borrarlo y tambien log mysql*.log.gz, pero nada
>mas los que tenes en el /var/log.
>
>en cuanto a lo otro que decis hay un par de cosas.
>
>los logbinarios con para recuperar la base en caso de una explocion del
>mysql, generalmente te combiene dejar esa rotacion dependiendo de cada
>cuanto hagas el backup de la misma, osea si hace un backup diario, con
>dejar 2 dias es mas que suficiente ya que la informacion hacia atraz la
>tenes en el backup.
>eso lo deshabilitas con:
>#log            = /var/log/mysql/mysql.log
>
>No te combiene guardar en un log de texto plano cada query haces a la
>base solamente te combiene loguear los slow query para poder hacer asi
>un debug de la aplicacion, eso dependiendo de que tipo de querys haga tu
>aplicacion deberias dejarlo en 2 o mas segundos, eso lo configuras con
>el parametro:
>
>log_slow_queries      = /var/log/mysql/mysql-slow.log
>
>long_query_time = 2
>
>
>otro dato importante que podrias loguear que te serviria para retar a
>tus desarrolladores es el log-queries-not-using-indexes, ya que ahi lo
>que logueas son las querys que no usan indices y por lo tanto mucho mas
>lentas
>
>
>espero que te haya servido de algo mis comentarios.
>
>Saludos y suerte.


He eliminado todos los logs (tanto en /var/log/, que no valían para nada según me cuentas, como los de /var/log/mysql). Y aquí es donde tengo el problema, porque ahora poniendo simplemente como descomentada únicamente la línea ...

log            = /var/log/mysql/mysql.log

... porque quiero todos los select, ya que estoy traceando un programa. El caso es que no me loguea nada. Creo que es porque no existe previamente el fichero mysql.log, así que lo he creado. No recuerdo cual era su propietario y grupo, así que le he puesto root:root y permisos 777, ... y nada. Sigue sin loguearme nada. Esta es la carpeta contenedora y sus permisos (que no los he tocado). Por supuesto he reiniciado mysql varios trillones de veces.

/var/log/mysql# ls -la
total 12
drwxr-s---  2 root root 4096 2009-09-23 09:01 .

¿Por qué no me loguea?


Me respondo a mí mismo. Era un problema de permisos. La carpeta /var/log/mysql tiene que tener permisos para mysql.

Gracias por la ayuda, de todas formas, ha sido muy instructivo.

Agur.





Reply to: