Wo sind Logs von MySQL? Fedora


1

Hallo, ich habe gerade MySQL von Source auf meinem Fedora installiert, mit cmake, make, make install usw. Es funktioniert, aber wo finde ich die Protokolle des Servers? Ich habe in / var / log nachgesehen, aber mit mysql gibt es leider nichts.

/etc/my.cnf

# For advice on how to change settings please see
# 
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES    

Könnten Sie bitte die Version von MySQL und Fedora angeben und wenn Sie einige Kompilierungsparameter von MySQL konfiguriert haben?
pabouk

Antworten:


5

Wenn Sie mysqld laufen haben, können Sie seine offenen Deskriptoren überprüfen, um zu sehen, wo es protokolliert, zum Beispiel mit proc:

[root@localhost ~]# ls -l `pgrep mysqld | sed 's@.*@/proc/&/fd/@'` | grep log
l-wx------. 1 root root 64 Jul 23 10:47 1 -> /var/log/mysqld.log
l-wx------. 1 root root 64 Jul 23 10:47 2 -> /var/log/mysqld.log
lrwx------. 1 root root 64 Jul 23 10:47 8 -> /var/lib/mysql/ib_logfile0
lrwx------. 1 root root 64 Jul 23 10:47 9 -> /var/lib/mysql/ib_logfile1
[root@localhost ~]# 

In diesem Fall ist /var/log/mysqld.log


Als ich dies tat, listete es nur ib_logfile0 und ib_logfile1 auf, wenn ich versuche, sie zu katzen, sind sie voll von @@@@@@@@@@@@: /
CSharpBeginner

Sieht aus wie Ihr MySQL überhaupt nicht protokolliert, dann. Die Protokolldatei0..1 sind binäre Protokolldateien von Datenbankdaten, nicht von Menschen lesbare Protokolldateien.
cyberz

Überprüfen Sie Ihre my.cnf, zum Beispiel meine: log-error = / var / log / mysqld.log im Abschnitt [mysqld_safe].
cyberz

Mein my.cnf ist fast leer, mein mysql läuft, ich habe mich angemeldet, Datenbanken, Tabellen, 2 Benutzer erstellt, alles sah gut aus, ich füge mein "etc / my.cnf" in Bearbeitung 1 ein
CSharpBeginner

Fügen Sie log-error = / var / log / mysqld.log in [mysqld_safe] hinzu und starten Sie den MySQL-Server neu. Er sollte protokollieren. Stellen Sie außerdem sicher, dass der Benutzer von mysql die Datei /var/log/mysqld.log schreiben kann.
cyberz

1

Es gibt verschiedene Arten von Protokollen, die von den folgenden globalen MySQL-Variablen bestimmt werden:

  • log_error für das Fehlermeldungsprotokoll;
  • general_log_file für die allgemeine Abfrageprotokolldatei (aktiviert von general_log );
  • slow_query_log_file für die langsame Abfrageprotokolldatei (aktiviert von slow_query_log );

Wenn Sie die Fehlerprotokolldatei lesen möchten, versuchen Sie diesen Befehl:

sudo tail -f $(mysql -Nse "SELECT @@GLOBAL.log_error")

dann schlagen Steuerung - C wenn fertig.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.