web-dev-qa-db-fra.com

Comment activer les journaux de requêtes dans MariaDB

Je suis entrain de courir mysql Ver 15.1 Distrib 5.5.46-MariaDB dans le serveur CentOS 6.7. J'essaie d'obtenir des requêtes enregistrées et je le fais en redirigeant le journal vers les fichiers comme indiqué ci-dessous:

#/etc/my.cnf.d/server.cnf
# this is only for the mysqld standalone daemon
[mysqld]
#
# * Fine Tuning
#
key_buffer              = 16M
max_allowed_packet      = 512M
thread_stack            = 192K
thread_cache_size       = 8

log-output = FILE

#General Query Log
general_log
general_log_file        = /var/log/mysql/mysql_query.log

#Error Log
log_error               = /var/log/mysql/mysql_error.log

#Slow Query Log
log-slow-queries
slow_query_log          = 1
slow_query_log_file     = /var/log/mysql/mysql_slow.log
long_query_time         = 2
log-queries-not-using-indexes

collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

Avant de redémarrer le service MySQL, j'ai exécuté la commande suivante pour créer chaque fichier et attribuer les autorisations appropriées:

mkdir -p /var/log/mysql && touch /var/log/mysql/mysql_query.log && touch /var/log/mysql/mysql_error.log && touch /var/log/mysql/mysql_slow.log && chown -R mysql:mysql /var/log/mysql/

J'ai redémarré le démon MySQL:

service mysql restart

Après avoir redémarré le serveur MySQL, je peux voir les fichiers mais avec une taille 0, donc MySQL n'envoie rien à ces fichiers. J'ai exécuté la requête suivante sur la console MySQL SHOW VARIABLES LIKE '%log%' et ci-dessous est le résultat et comme vous pouvez le remarquer, les modifications ne sont pas apportées au serveur:

+-------------------------------------------+--------------------------------------------------------------------------------------------------------------+
| Variable_name                             | Value                                                                                                        |
+-------------------------------------------+--------------------------------------------------------------------------------------------------------------+
| aria_checkpoint_log_activity              | 1048576                                                                                                      |
| aria_log_file_size                        | 1073741824                                                                                                   |
| aria_log_purge_type                       | immediate                                                                                                    |
| aria_sync_log_dir                         | NEWFILE                                                                                                      |
| back_log                                  | 50                                                                                                           |
| binlog_annotate_row_events                | OFF                                                                                                          |
| binlog_cache_size                         | 32768                                                                                                        |
| binlog_checksum                           | NONE                                                                                                         |
| binlog_direct_non_transactional_updates   | OFF                                                                                                          |
| binlog_format                             | STATEMENT                                                                                                    |
| binlog_optimize_thread_scheduling         | ON                                                                                                           |
| binlog_stmt_cache_size                    | 32768                                                                                                        |
| expire_logs_days                          | 0                                                                                                            |
| general_log                               | OFF                                                                                                          |
| general_log_file                          | pdone-prod.log                                                                                               |
| innodb_flush_log_at_trx_commit            | 1                                                                                                            |
| innodb_locks_unsafe_for_binlog            | OFF                                                                                                          |
| innodb_log_block_size                     | 512                                                                                                          |
| innodb_log_buffer_size                    | 8388608                                                                                                      |
| innodb_log_file_size                      | 5242880                                                                                                      |
| innodb_log_files_in_group                 | 2                                                                                                            |
| innodb_log_group_home_dir                 | ./                                                                                                           |
| innodb_mirrored_log_groups                | 1                                                                                                            |
| innodb_recovery_update_relay_log          | OFF                                                                                                          |
| innodb_use_global_flush_log_at_trx_commit | ON                                                                                                           |
| log                                       | OFF                                                                                                          |
| log_bin                                   | OFF                                                                                                          |
| log_bin_trust_function_creators           | OFF                                                                                                          |
| log_error                                 | /var/lib/mysql/pdone-prod.pdi-inc.com.err                                                                    |
| log_output                                | FILE                                                                                                         |
| log_queries_not_using_indexes             | OFF                                                                                                          |
| log_slave_updates                         | OFF                                                                                                          |
| log_slow_filter                           | admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk |
| log_slow_queries                          | OFF                                                                                                          |
| log_slow_rate_limit                       | 1                                                                                                            |
| log_slow_verbosity                        |                                                                                                              |
| log_warnings                              | 1                                                                                                            |
| max_binlog_cache_size                     | 18446744073709547520                                                                                         |
| max_binlog_size                           | 1073741824                                                                                                   |
| max_binlog_stmt_cache_size                | 18446744073709547520                                                                                         |
| max_relay_log_size                        | 0                                                                                                            |
| relay_log                                 |                                                                                                              |
| relay_log_index                           |                                                                                                              |
| relay_log_info_file                       | relay-log.info                                                                                               |
| relay_log_purge                           | ON                                                                                                           |
| relay_log_recovery                        | OFF                                                                                                          |
| relay_log_space_limit                     | 0                                                                                                            |
| slow_query_log                            | OFF                                                                                                          |
| slow_query_log_file                       | pdone-prod-slow.log                                                                                          |
| sql_log_bin                               | ON                                                                                                           |
| sql_log_off                               | OFF                                                                                                          |
| sync_binlog                               | 0                                                                                                            |
| sync_relay_log                            | 0                                                                                                            |
| sync_relay_log_info                       | 0                                                                                                            |
+-------------------------------------------+--------------------------------------------------------------------------------------------------------------+

Qu'est-ce qui pourrait mal ici? Pourquoi les journaux ne sont-ils pas envoyés à ces fichiers?

MET À JOUR

@ rick-james: J'ai vérifié les autorisations en exécutant:

# ls -ld /var/log/mysql/
drwxrwxrwx 2 mysql mysql 4096 Nov 30 16:44 /var/log/mysql/

Et sont apparemment bons (777).

@ ypercube: Voici le résultat de la commande que vous souhaitez que j'exécute.

# ls -l /var/log/mysql/
total 0
-rw-r--r-- 1 mysql mysql 0 Nov 30 16:44 mysql_error.log
-rw-r--r-- 1 mysql mysql 0 Nov 30 16:44 mysql_query.log
-rw-r--r-- 1 mysql mysql 0 Nov 30 16:44 mysql_slow.log

En premier lieu, tous les fichiers étaient chmod comme 644 mais je change ça pour être 775 maintenant le résultat ressemble à:

# ls -l /var/log/mysql/
total 0
-rwxrwxr-x 1 mysql mysql 0 Nov 30 16:44 mysql_error.log
-rwxrwxr-x 1 mysql mysql 0 Nov 30 16:44 mysql_query.log
-rwxrwxr-x 1 mysql mysql 0 Nov 30 16:44 mysql_slow.log

Mais ne change pas du tout, les journaux ne sont pas enregistrés dans ces fichiers. Pourquoi?

6
ReynierPM

Ok, enfin j'ai trouvé où était le problème! Pour une raison quelconque, je supprime /etc/my.cnf fichier (peut-être quand je désinstalle MySQL ou autre chose) et c'est le fichier comprenant tout sous /etc/my.cnf.d à cause de cela, les modifications ne prennent pas effet. Ma faute. Merci pour votre temps

2
ReynierPM

Vérifiez sous /var/log/mysql/ comme le dit votre my.cnf.

SHOW VARIABLES LIKE '%log%'; - pour voir si les paramètres ont vraiment pris effet.

Y a t-il /etc/my.cnf fichier?

Regardez les arguments sur mysqld en cours d'exécution pour voir s'ils remplacent quoi que ce soit.

Avez-vous redémarré mariadb?

1
Rick James