Öncelikle Selamın Aleykum Arkadaşlar .
40K Açık Kaynak Kodlarını Kullanan Bazı Arkadaşların Sıkıntı Çektiğini Duydum , Bu Konu Hakkında 15 Dakikalık Bir Çalışma Yaptım .
Mysql Şişiren Tabloları Durdurur ( LOG )
Bize Yararı Ne Olacak Bunun ?
" Serverinizin Performansını %90 Arttıracaktır Sürekli Bakıma Almak Zorunda Kalmayacaksınız . "
Kurulum ;
Aşağıdaki Dosya İndirilir sourceadi/game/src Bölümüne Atılır .
Ardından Game Dosyanızı BUILD Edin.
İndir ;
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Virüs Total ;
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
[C++] Mysql Loglarını Kapatmak
Metin2 özel sunucu geliştirme sürecinde C++ tabanlı sistemlerde çalışırken, veritabanı işlemleri sırasında oluşan loglar bazen gereksiz yere performans kaybına veya disk doluluk sorunlarına neden olabilir. Özellikle MySQL logları, geliştiriciler için hata ayıklamada yardımcı olsa da, canlı sunucularda veya test ortamlarında bu logların kapatılması gerekebilir. Bu yazıda, C++ projelerinde kullanılan MySQL loglarının nasıl kapatılacağını detaylıca ele alacağız.
MySQL Log Türleri Nelerdir?
MySQL genellikle birkaç farklı loglama türü sunar:
- General Query Log
- Error Log
- Slow Query Log
- Binary Log
Bu loglar, geliştirme sırasında faydalı olabilir ancak üretim ortamında disk alanı tüketebilir ve sistemi yavaşlatabilir. Bu yüzden, özellikle Metin2 gibi sunucu odaklı projelerde logların kontrol edilmesi ve ihtiyaç duyulmadığında kapatılması önemlidir.
C++ Tarafında MySQL Loglarını Kapatma Yöntemleri
Genellikle MySQL loglarını kapatmak için iki yöntem vardır: Sunucu seviyesinde ve uygulama seviyesinde. C++ tarafında logları kapatmak istiyorsanız, bağlantı yapılandırması sırasında loglama devre dışı bırakılabilir.
1. MySQL Bağlantısı Açarken Log Ayarlarını Kapatmak:
C++ içinde mysql_real_connect fonksiyonu kullanılırken, loglama ile ilgili bazı parametreler ayarlanabilir. Örneğin, MYSQL_OPT_LOG_DISABLE gibi ayarlar kullanılabilir. Ancak bu özellik MySQL sürümlerine göre değişiklik gösterebilir.
2. SQL Komutlarıyla Logları Devre Dışı Bırakmak:
Bağlantı sağlandıktan sonra aşağıdaki SQL komutları ile loglamayı kapatabilirsiniz:
Kod:
[B]SET GLOBAL general_log = 'OFF';[/B][BR][/BR][B]SET GLOBAL slow_query_log = 'OFF';[/B]
Bu komutlar sayesinde genel sorgu loglaması ve yavaş sorgu loglaması durdurulur. Bu, Metin2 sunucularında authserver veya gameserver bağlantılarında performans artışı sağlayabilir.
MySQL Konfigürasyon Dosyası Üzerinden Logları Kapatmak
Sunucu seviyesinde logları tamamen kapatmak istiyorsanız, my.cnf veya my.ini dosyasında aşağıdaki ayarları yapabilirsiniz:
Kod:
[B]general_log = OFF[/B][BR][/BR][B]slow_query_log = OFF[/B][BR][/BR][B]log_warnings = 0[/B]
Bu ayarlar, MySQL servisi yeniden başlatıldığında aktif olacaktır. Bu yöntem, tüm C++ projelerinizde geçerli olacaktır.
Metin2 Sunucularında Pratik Uygulama
Metin2 özel sunucularında, gamecore veya dbcore gibi modüllerde MySQL bağlantısı yapılırken loglamayı kapatmak, sunucu performansını artırabilir. Özellikle yüksek trafikli PvP sunucularda, her saniye binlerce sorgu atıldığı için loglama işlemleri sistemi yavaşlatabilir. Bu nedenle, logları kapatmak veya minimum seviyeye indirmek çok önemlidir.
Sonuç
C++ tabanlı Metin2 sunucularında MySQL loglarını kapatmak, performansı doğrudan etkileyebilecek önemli bir adımdır. Hem uygulama hem de sunucu seviyesinde loglamayı yönetebilirsiniz. Geliştirme aşamasında loglar faydalı olsa da, canlı sunucularda bu ayarları kapatmak sistem kaynaklarını daha verimli kullanmanıza yardımcı olur.
Disabling MySQL Logs in [C++]
During the process of developing Metin2 private servers using C++-based systems, database operations may occasionally cause unnecessary performance loss or disk space issues due to generated logs. Although MySQL logs can assist developers during debugging, they might need to be disabled on live or testing servers. In this article, we will thoroughly discuss how to disable MySQL logs in C++ projects.
What Are MySQL Log Types?
MySQL typically offers several types of logging:
- General Query Log
- Error Log
- Slow Query Log
- Binary Log
These logs can be helpful during development but may consume disk space and slow down systems in production environments. Therefore, especially in server-oriented projects like Metin2, controlling and disabling these logs when not needed is crucial.
Methods for Disabling MySQL Logs in C++
Generally, there are two ways to disable MySQL logs: at the server level and at the application level. When aiming to disable logs from the C++ side, you can configure the connection settings to turn off logging.
1. Disabling Log Settings While Opening MySQL Connection:
When using the mysql_real_connect function in C++, certain parameters related to logging can be set. For example, options such as MYSQL_OPT_LOG_DISABLE can be used. However, this feature may vary depending on MySQL versions.
2. Disabling Logging via SQL Commands:
After establishing a connection, you can use the following SQL commands to disable logging:
Kod:
[B]SET GLOBAL general_log = 'OFF';[/B][BR][/BR][B]SET GLOBAL slow_query_log = 'OFF';[/B]
These commands stop general query logging and slow query logging. This can improve performance in Metin2 servers during authserver or gameserver connections.
Disabling Logs via MySQL Configuration File
To completely disable logs at the server level, you can make the following adjustments in the my.cnf or my.ini file:
Kod:
[B]general_log = OFF[/B][BR][/BR][B]slow_query_log = OFF[/B][BR][/BR][B]log_warnings = 0[/B]
These settings will take effect once the MySQL service is restarted. This method applies to all your C++ projects.
Practical Application in Metin2 Servers
In Metin2 private servers, disabling MySQL logs during connections made by modules like gamecore or dbcore can enhance server performance. Especially on high-traffic PvP servers, where thousands of queries are executed every second, logging operations can slow down the system. Therefore, disabling or minimizing logs is very important.
Conclusion
Disabling MySQL logs in C++-based Metin2 servers is a critical step that directly impacts performance. You can manage logging both at the application and server levels. While logs may be useful during development, disabling them on live servers helps utilize system resources more efficiently.
