Lokasi Kesalahan Log?

15

Apakah MySQL menulis file log? Jika ya, apa jalannya (di ubuntu / Linux)?

Maulik Patel
sumber

Jawaban:

11
  • Log umum - semua pertanyaan - lihat VARIABEL general_log
  • Log lambat - kueri lebih lambat dari long_query_time-slow_query_log_file
  • Binlog - untuk replikasi dan cadangan - log_bin_basename
  • Relay log - juga untuk replikasi
  • kesalahan umum - mysqld.err
  • start / stop - mysql.log(tidak terlalu menarik) -log_error
  • InnoDB redo log - iblog*

Lihat variabel basedirdan datadiruntuk lokasi default untuk banyak log

Beberapa log dinyalakan / dimatikan oleh VARIABEL lain. Beberapa ditulis ke file atau ke tabel.

Rick James
sumber
3

Log MySQL ditentukan oleh variabel global seperti:

Untuk melihat pengaturan dan lokasi log, jalankan perintah shell ini:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

Terima kasih untuk @kenorb di /programming//a/37685324/470749

Ryan
sumber
2

Ya, MySQL menulis file log.

Path-nya /var/log/mysql.log, didefinisikan dalam log_errorvariabel config.

Ada juga file log untuk kesalahan /var/log/mysql.err

Brijesh Goswami
sumber
2

Selain dari log kesalahan pada Windows, tidak ada log MySQL yang diaktifkan. Ini untuk memaksimalkan sumber daya server untuk database. Karena itu, disarankan untuk mengaktifkannya sesuai kebutuhan.

Itu juga bisa membuat sulit untuk mengetahui log mana yang diaktifkan pada waktu tertentu. Untuk alasan itu, saya suka memiliki semua variabel konfigurasi saya di satu tempat sehingga saya dapat mencarinya dengan cepat. Ada beberapa alat GUI yang bagus untuk ini. Saya pribadi menggunakan Navicat untuk MySQL dan Navicat Premium .

Keduanya memiliki alat Pemantauan yang berisi tab dengan semua variabel server dalam satu daftar lengkap.

variabel general_log dan general_log_file server di alat Navicat Server Monitor

Salam Hormat!

Rob Gravelle
sumber
Sayangnya, itu hanya akan menetapkan nilai sampai restart berikutnya. OTOH, Log Umum adalah disk babi, sehingga umumnya baik untuk mematikannya segera setelah mendapatkan informasi yang Anda butuhkan. (Log lain mungkin bisa dinyalakan.)
Rick James
1

Jalankan perintah di bawah ini di Terminal untuk menemukan jalur yang tepat:

 mysqladmin variables | grep log_error
Sachin Singh
sumber
1

File log biasanya terletak di /var/log/. File log server MySQL biasanya diidentifikasi oleh mysql.nameOfLogFile.

Menggertak
sumber
1

Sedikit terlambat di sini,

Anda dapat menemukan lokasi file log saat ini dalam MYSQL dengan memeriksa variabel global.

Misalnya, di bawah ini akan ditampilkan apakah general_log Anda hidup atau mati dan lokasi general_log_file di sistem Anda.

SHOW GLOBAL VARIABLES LIKE '%general%';
Jon
sumber