Como posso obter o MySQL 5.5 para registrar avisos em um dos arquivos de log?

5

Encontrei várias coisas que dizem que você pode registrar avisos no log de erros do MySQL, mas não consegui fazer isso acontecer.

Eu tenho o log de erros funcionando, e o MySQL imprime coisas na inicialização e no desligamento e ocasionalmente em outros momentos, mas se eu, por exemplo, SELECT CAST('123' AS DATE); e, em seguida, SHOW WARNINGS; Posso ver o aviso, mas ele não aparece em nenhum registro.

Eu também tentei ativar o log geral e o log de consultas lentas, mas eles também não mostram os avisos.

Eu tentei com log_warnings = 1 e log_warnings = 2 , mas ainda não há avisos registrados.

O que estou fazendo de errado?

mysql> show variables like '%error%';
+--------------------+--------------------------+
| Variable_name      | Value                    |
+--------------------+--------------------------+
| error_count        | 0                        |
| log_error          | /var/log/mysql/mysql.err |
| max_connect_errors | 10                       |
| max_error_count    | 1024                     |
| slave_skip_errors  | OFF                      |
+--------------------+--------------------------+

mysql> show variables like '%warn%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 1     |
| sql_warnings  | OFF   |
| warning_count | 0     |
+---------------+-------+
3 rows in set (0.06 sec)

mysql> show variables like '%log%';
+-----------------------------------------+-------------------------------+
| Variable_name                           | Value                         |
+-----------------------------------------+-------------------------------+
...
| general_log                             | ON                            |
| general_log_file                        | /var/log/mysql/general.log    |
...
| log                                     | ON                            |
...
| log_error                               | /var/log/mysql/mysql.err      |
| log_output                              | FILE                          |
| log_queries_not_using_indexes           | ON                            |
...
| log_warnings                            | 1                             |
...
| slow_query_log                          | ON                            |
| slow_query_log_file                     | /var/log/mysql/mysql-slow.log |
...
+-----------------------------------------+-------------------------------+

Editar:

mysql> show global status like 'Aborted%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Aborted_clients  | 24    |
| Aborted_connects | 15    |
+------------------+-------+
2 rows in set (0.08 sec)

Editar:

Esclarecimento: recebo [Warning] Aborted connection 1 to db... e [Warning] Access denied for user... mensagens registradas, mas não os avisos que você pode ver por meio de SHOW WARNINGS após, por exemplo, inserindo algo ou executando LOAD DATA INFILE... , que é o que estou procurando.

    
por Wodin 14.02.2011 / 18:26

2 respostas

2

De: link

/path/to/mysql --show-warnings –uUserName –pPassword DBNAME < /path/to/dump_file.sql >> /path/to/load_warnings.log 2>&1
    
por 22.08.2015 / 12:57
0

Cheguei à conclusão de que isso não é possível. O MySQL não registra esses avisos no log de erros. Apenas coisas como por exemplo falhas de autenticação, conexões anuladas, etc.

    
por 24.02.2011 / 09:23

Tags