{"id":198,"title":"SQL Notlar\u0131: Log Dosyalar\u0131","content":"<p>MySQL, veritaban\u0131 i\u015flemlerini izlemek ve hatalar\u0131 tespit etmek i\u00e7in \u00e7e\u015fitli log dosyalar\u0131 sunar. Bu yaz\u0131da, MySQL'deki \u00f6nemli log dosyalar\u0131n\u0131 ve bu loglar\u0131n nas\u0131l y\u00f6netilece\u011fini ele alaca\u011f\u0131z.<\/p><p>#### 1. Yava\u015f Sorgu Logu (Slow Query Log)<\/p><p>Yava\u015f sorgu logu, belirli bir s\u00fcreden daha uzun s\u00fcren sorgular\u0131 kaydeder. Bu log, performans sorunlar\u0131n\u0131 tespit etmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>##### Yava\u015f Sorgu Logunu Ayarlama<\/p><p>Yava\u015f sorgu logunu etkinle\u015ftirmek ve log dosyas\u0131n\u0131 belirlemek i\u00e7in a\u015fa\u011f\u0131daki komutlar kullan\u0131l\u0131r:<\/p><p>```sql<br>-- Yava\u015f sorgu logunun aktif olup olmad\u0131\u011f\u0131n\u0131 kontrol et<br>SELECT @@slow_query_log;<\/p><p>-- Yava\u015f sorgu log dosyas\u0131n\u0131n yolunu g\u00f6r\u00fcnt\u00fcle<br>SELECT @@slow_query_log_file;<\/p><p>-- Log dosyas\u0131n\u0131n bulundu\u011fu dizini g\u00f6r\u00fcnt\u00fcle<br>SELECT @@datadir;<\/p><p>-- Yava\u015f sorgu logunu etkinle\u015ftir veya devre d\u0131\u015f\u0131 b\u0131rak<br>SET GLOBAL slow_query_log = 1; &nbsp;-- Etkinle\u015ftir<br>SET GLOBAL slow_query_log = 0; &nbsp;-- Devre d\u0131\u015f\u0131 b\u0131rak<br>```<\/p><p>##### Yava\u015f Sorgu S\u00fcresini Ayarlama<\/p><p>Yava\u015f sorgu logunun hangi s\u00fcreden daha uzun s\u00fcren sorgular\u0131 kaydedece\u011fini belirlemek i\u00e7in:<\/p><p>```sql<br>-- Mevcut yava\u015f sorgu s\u00fcresini g\u00f6r\u00fcnt\u00fcle<br>SELECT @@long_query_time;<\/p><p>-- Yava\u015f sorgu s\u00fcresini ayarla (\u00f6rne\u011fin, 2 saniye)<br>SET GLOBAL long_query_time = 2;<br>```<\/p><p>#### 2. Genel Sorgu Logu (General Query Log)<\/p><p>Genel sorgu logu, t\u00fcm sorgular\u0131 ve ba\u011flant\u0131 bilgilerini kaydeder. Bu log, hata ay\u0131klama i\u00e7in kullan\u0131\u015fl\u0131d\u0131r ancak performans\u0131 olumsuz etkileyebilir.<\/p><p>##### Genel Sorgu Logunu Ayarlama<\/p><p>Genel sorgu logunu etkinle\u015ftirmek ve log dosyas\u0131n\u0131 belirlemek i\u00e7in:<\/p><p>```sql<br>-- Genel sorgu logunun aktif olup olmad\u0131\u011f\u0131n\u0131 kontrol et<br>SELECT @@general_log;<\/p><p>-- Genel sorgu log dosyas\u0131n\u0131n yolunu g\u00f6r\u00fcnt\u00fcle<br>SELECT @@general_log_file;<\/p><p>-- Genel sorgu logunu etkinle\u015ftir veya devre d\u0131\u015f\u0131 b\u0131rak<br>SET GLOBAL general_log = 1; &nbsp;-- Etkinle\u015ftir<br>SET GLOBAL general_log = 0; &nbsp;-- Devre d\u0131\u015f\u0131 b\u0131rak<br>```<\/p><p>##### Log Dosyas\u0131n\u0131n Yerini De\u011fi\u015ftirme<\/p><p>Genel sorgu log dosyas\u0131n\u0131n yerini de\u011fi\u015ftirmek i\u00e7in:<\/p><p>```sql<br>SET GLOBAL general_log_file = '\/path\/to\/new_log_file.log';<br>```<\/p><p>#### 3. Hata Logu (Error Log)<\/p><p>Hata logu, MySQL sunucusunun ba\u015flang\u0131\u00e7 ve durdurma bilgilerini, kritik hatalar\u0131 ve uyar\u0131lar\u0131 kaydeder.<\/p><p>##### Hata Logunu Ayarlama<\/p><p>Hata logunun yolunu ve detay seviyesini ayarlamak i\u00e7in:<\/p><p>```sql<br>-- Hata log dosyas\u0131n\u0131n yolunu g\u00f6r\u00fcnt\u00fcle<br>SELECT @@log_error;<\/p><p>-- Hata logunun detay seviyesini ayarla<br>SET GLOBAL log_warnings = 2; &nbsp;-- Daha fazla detay i\u00e7in<br>```<\/p><p>##### Hata Logunun Yerini De\u011fi\u015ftirme<\/p><p>Hata log dosyas\u0131n\u0131n yerini de\u011fi\u015ftirmek i\u00e7in MySQL yap\u0131land\u0131rma dosyas\u0131 (`my.cnf` veya `my.ini`) kullan\u0131l\u0131r:<\/p><p>```ini<br><br>log_error = \/path\/to\/error.log<br>log_warnings = 2<br>```<\/p><p>#### 4. Di\u011fer Log Dosyalar\u0131<\/p><p>- **Binary Log (Binlog):** Replikasyon ve yedekleme i\u00e7in kullan\u0131l\u0131r. `log_bin_basename` de\u011fi\u015fkeni ile kontrol edilir.<br>- **Relay Log:** Replikasyon s\u0131ras\u0131nda kullan\u0131l\u0131r.<br>- **InnoDB Redo Log:** InnoDB depolama motoru taraf\u0131ndan kullan\u0131l\u0131r ve `iblog*` dosyalar\u0131nda saklan\u0131r.<\/p><p>#### Sonu\u00e7<\/p><p>MySQL'de log dosyalar\u0131, veritaban\u0131 i\u015flemlerini izlemek, performans sorunlar\u0131n\u0131 tespit etmek ve hatalar\u0131 ay\u0131klamak i\u00e7in kritik \u00f6neme sahiptir. Yava\u015f sorgu logu, genel sorgu logu ve hata logu gibi loglar, veritaban\u0131 y\u00f6netimini daha etkili hale getirir. Bu loglar\u0131 do\u011fru \u015fekilde yap\u0131land\u0131rarak, veritaban\u0131 performans\u0131n\u0131 art\u0131rabilir ve olas\u0131 sorunlar\u0131 \u00f6nceden tespit edebilirsiniz. Bir sonraki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere!<\/p>","excerpt":"MySQL'de log dosyalar\u0131, veritaban\u0131 i\u015flemlerini izlemek, performans sorunlar\u0131n\u0131 tespit etmek ve hatalar\u0131 ay\u0131klamak i\u00e7in kritik \u00f6neme sahiptir. Yava\u015f sorgu logu, genel sorgu logu ve hata logu gibi loglar, veritaban\u0131 y\u00f6netimini daha etkili hale getirir. Bu loglar\u0131 do\u011fru \u015fekilde yap\u0131land\u0131rarak, veritaban\u0131 performans\u0131n\u0131 art\u0131rabilir ve olas\u0131 sorunlar\u0131 \u00f6nceden tespit edebilirsiniz.","created_at":"2025-01-13 15:42:21","updated_at":"2026-09-23 18:51:36","category_id":9,"view_count":603,"reading_time":3,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-01-13 15:42:21","featured_image":"resimyok.jpg","slug":"sql-notlari-log-dosyalari","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim"}