J'utilise MySQL 5.0.45 sur OS X 10.6.1 et je ne parviens pas à ce que MySQL enregistre quoi que ce soit. Je suis en train de déboguer une application et j'ai besoin de voir toutes les requêtes et les erreurs.
J'ai ajouté au etc / my.cnf:
[mysqld]
bind-address = 127.0.0.1
log = /var/log/mysqld.log
log-error = /var/log/mysqld.error.log
J'ai utilisé sudo pour créer deux fichiers journaux, définir les autorisations sur 644, puis redémarrer MySQL.
Je me suis référé à Où est mon journal mysql sur OS X? afin de dépanner.
Fonctionnement:
ps auxww|grep [m]ysqld
Résultats:
_mysql 71 0.0 0.8 646996 15996 ?? S 7:31PM 0:01.10 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --pid-file=/usr/local/mysql/var/Macintosh-41.local.pid
_mysql 46 0.0 0.0 600336 744 ?? Ss 7:30PM 0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
Et en cours d'exécution:
$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Résultats:
log /var/log/mysqld.log
log-bin (No default value)
log-bin-index (No default value)
log-bin-trust-function-creators FALSE
log-bin-trust-routine-creators FALSE
log-error /var/log/mysqld.error.log
log-isam myisam.log
log-queries-not-using-indexes FALSE
log-short-format FALSE
log-slave-updates FALSE
log-slow-admin-statements FALSE
log-slow-queries (No default value)
log-tc tc.log
log-tc-size 24576
log-update (No default value)
log-warnings 1
Fonctionnement:
mysql> show variables like '%log%';
Résultats:
+---------------------------------+---------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------+
| back_log | 50 |
| binlog_cache_size | 32768 |
| expire_logs_days | 0 |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_arch_dir | |
| innodb_log_archive | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_mirrored_log_groups | 1 |
| log | ON |
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | /var/log/mysqld.error.log |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_relay_log_size | 0 |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| sync_binlog | 0 |
+---------------------------------+---------------------------+
26 rows in set (0.00 sec)
Toute aide sur comment je peux obtenir que MySQL se connecte?
Pour activer les fichiers journaux, vous devez vous assurer qu'une ou plusieurs des directives suivantes figurent dans la
[mysqld]
section du fichier de configuration principal de votre serveur mysql (/etc/my.cnf
le mien):Les journaux seront créés, par défaut, dans le même répertoire de données que celui qui contient les sous-répertoires de la base de données (généralement
/var/lib/mysql
) et les noms de fichier journal par défaut correspondent au nom d'hôte suivi d'un suffixe correspondant aux noms de directive ci-dessus (par exemple. -Bin, -slow -quêtes, etc.).Pour conserver vos journaux dans un chemin différent ou en utilisant des noms de fichiers différents, spécifiez le nom de base suivant la
log=
directive, ainsi que le chemin et le nom de fichier de votre choix, par exemple:Vous devez redémarrer mysqld pour que ces modifications prennent effet.
la source
Les réponses précédentes étaient périmées. Vous pouvez regarder le fichier de configuration dans
/etc/my.cnf
ou sur Windows./mysql/my.ini
.Dans la
[mysqld]
section ajouterLa documentation de Windows indique que les journaux sont stockés dans
ProgramData/MySQL/MySQL Server 5.6/
. Ignorez-le parce que c'est un mensonge.De plus, l'
log
option recommandée est amortie et entraîne l'erreurêtre connecté
./mysql/data/host.err
et le démon mourant silencieusement. Le réglage correct estgeneral-log
.Aussi
log-slow-queries
n'est pas valide et a causé l'erreurSoyez donc sûr de rester à l'écart de cela aussi.
la source
log=
option et pouvais comprendre pourquoi pour la vie. Enfin quelqu'un avec une réponse.general-log
Entrez la ligne de commande mysql avec des super privilèges et effectuez les opérations suivantes:
Dans mon cas, peu importait que cette variable soit déjà définie avec la même valeur! De plus, j'ai changé les permissions et le propriétaire du fichier comme mentionné dans les autres posts.
la source
Essayez différents paramètres de journal dans my.cnf. Dans mon cas j'avais besoin de:
la source