Mysql – my.cnf Optimizasyonu

In Linux
4 Ocak 2019
18 min read

Merhaba;

Hem kendim için not hem de sizlerin işine yaraması adına bir çok farklı siteden araştırarak derlediğim my.cnf ayar dosyası, açıklamalar kullandıklarım, kullanabileceğiniz kodlar ve hazır bir ayar içeriğini bu yazıda sizinle paylaşacağım.

my.cnf Mysql ayar dosyası sunucuda varsayılan olarak /etc/my.cnf yolu ile erişilebilir ve düzenlenebilir şekilde kayıtlıdır.

Öncelikle Sunucuda varsayılan olarak şu anda kullanılan my.cnf ayar dosyasını açın;

nano /etc/my.cnf

Aşağıdaki ayarları ve açıklamaları kullanarak mysql yapılandırmanızı yeniden yapabilirsiniz.

[client]
port          = 3306
socket        = /tmp/mysqld.sock


[mysqld]
#genel yapılandırma seçenekleri
port          = 3306
socket        = /tmp/mysqld.sock

# sync_binlog, ikili günlüğe yapılan tüm yazmaların derhal olmasını sağlar
sync_binlog=1

# back_log, MySQL bağlantı yöneticisi iş parçacığı işlenmeden önce işletim sisteminin dinleme kuyruğunda tutabileceği bağlantıların sayısını belirtir. Çok yüksek bir bağlantı oranına sahipseniz ve "bağlantı reddedildi" hatası yaşarsanız, bu değeri artırmanız gerekebilir. Bu parametrenin maksimum değeri için işletim sisteminizin belgelerine bakın. Back_log'u işletim sistemi sınırından daha yüksek olarak ayarlamaya çalışmanın hiçbir etkisi olmaz.
back_log = 50

#max connections değeri 1 gb ram için varsayılan 150 değeridir. Ram oranınıza göre connections değerini değiştirebilirsiniz. Ancak çoğu durumda düşük sayılar ile mysqlin çok fazla bağlantı ile şişmesini önlemek için değerleri daha düşük tutarız
max_connections = 300

# MySQL'in neden max_connect_errors denetimini devre dışı bırakmadığını bilmiyorum, ancak bunu yapmıyorsa, özellikle de bir yük dengeleyici kullanıyorsanız, MySQL'in renksiz bir sunucudaki bağlantıları kabul etmeyi reddetmesini engellemek için yüksek bir değere ayarlayın!
max_connect_errors = 9999999

# Tüm iş parçacıkları için açık tabloların sayısı, mysqld_safe bölümünde açık dosya sınırının en az iki katı olduğundan emin olun
table_cache = 4096

# Sunucunun üstesinden gelebilecek bir sorgu paketinin maksimum boyutu.
max_allowed_packet = 16M

# İşlem sırasında ikili günlük için SQL deyimlerini tutacak önbellek boyutu. Sık sık büyük, çok beyanlı işlemler kullanırsanız, daha fazla performans elde etmek için bu değeri artırabilirsiniz. İşlemlerden gelen tüm ifadeler ikili günlük önbelleğinde arabelleğe alınır ve COMMIT'den hemen sonra ikili günlüğe yazılır. İşlem bu değerden büyükse, bunun yerine diskte geçici dosya kullanılır. Bu arabellek, işlemdeki ilk güncelleme deyimine bağlantı başına ayrılır
binlog_cache_size = 1M

# Tek bir HEAP (bellekte) tabloda izin verilen maksimum boyut. Bu seçenek, aksi halde tüm bellek kaynaklarını tüketen çok büyük bir HEAP tablosunun yanlışlıkla oluşturulmasına karşı koruma sağlar.
max_heap_table_size = 64M

#Bazı karmaşık SQL sorguların sonuçları RAM bellek üzerinde tutulur ve performansı dogrudan etkiliyor. Bu parametre ayarlı degilse yada az bir deger olarak ayarlı ise SQL sonucu disk üzerine yazılır. Diskinizin yazma/okuma performansı olarak size döner. Ancak session bazlı işliyor. Ayar yaparken bunu gözönünde bulundurun. Ne demek bu ki? Session bazı parametreler= Tehlikeli parametredir ve dogru ayarlanmalıdır. max_connection rakamını çarpan olarak kullanan parametrelerdir. max_connection=300 ayarlıysa tmp_table_size=100M ayarladınız diyelim 300 x 100M =30000MB kadar bir belleği bu işe ayırmışsınız demek oluyor. Ram belleğinizin 30GB'ı bu ayar için SET edilmiş oldu. Sunucunuzda 8gb RAM bellek varsa dogrudan CPU fırlar sunucu kilitlenir. max_heap_table_size ile tmp_table_size aynı rakamları vermek uygun olur.
tmp_table_size = 64M

# Sıralama arabelleği, bazı ORDER BY ve GROUP BY sorgularını sıralamak için kullanılır. Sıralama verileri sıralama arabelleğine uymuyorsa, bunun yerine bir disk tabanlı birleştirme sırası kullanılır - "Sort_merge_passes" durum değişkenine bakın. Sıralama gerekiyorsa iplik başına tahsis edilir.
sort_buffer_size = 8M

# Bu arabellek, tam JOIN'lerin optimizasyonu için kullanılır (dizin içermeyen JOIN'ler). Bu gibi JOIN'ler çoğu durumda performans için çok kötüdür, ancak bu değişkeni büyük bir değere ayarlamak performans etkisini azaltır. Tam JOIN'lerin sayısı için "Select_full_join" durum değişkenine bakın. 
join_buffer_size = 8M

# Kaç tane iş parçacığı, bir yeniden önbellekte saklanmalıyız. Bir istemci bağlantısı kesildiğinde, istemcinin iş parçacığı öncekinden çok fazla iş parçacığı_ekliğinden farklı değilse önbelleğe konur. Bu, çok sayıda yeni bağlantınız varsa, gereken iplik oluşturma sayısını büyük ölçüde azaltır. (Normalde, iyi bir iplik uygulamanız varsa, bu önemli bir performans gelişimi sağlamaz.)
thread_cache_size = 16

# Sorgu önbellek, SELECT sonuçlarını önbelleğe almak ve daha sonra aynı sorguyu bir kez daha gerçekleştirmeden tekrar iade etmek için kullanılır. Sorgu önbelleğinin etkinleştirilmesi, benzersiz sorgulara ve seyrek olarak değişen tablolara sahip olmanız durumunda önemli ölçüde hızlanma geliştirmesine neden olabilir. Mevcut değerinizin yükünüz için yeterince yüksek olup olmadığını kontrol etmek için durum değişkeni "Qcache_lowmem_prunes" e bakın. Not: Tablolarınızın çok sık değiştiği veya sorgularınızın her seferinde metinden farklı olması durumunda, sorgu önbellek performans iyileştirmesi yerine yavaşlamaya neden olabilir.
query_cache_size = 128M

# Yalnızca bu sınırdan küçük sonuç kümeleri önbellekle. Bu, diğer tüm sorgu sonuçlarının üzerine yazılmış çok büyük sonuç kümesinin sorgu önbelleğini korumak içindir.
query_cache_limit = 4M

# query_alloc_block_size, SQL deyimlerini ve diğer önemsiz bellekleri ayrıştırmak için ne kadar bellek ayırdığını denetler. Olası bellek parçalanmasını azaltmak için karmaşık sorgular çalıştıran kutularda artırıyorum. YMMV varsayılanı 8 k
query_alloc_block_size = 16K

# İşletim sisteminiz destekliyorsa, takaslamayı önlemek için arabellek havuzunu bu seçeneğiyle belleğe kilitleyebilirsiniz. Linux'un bunu destekleyip desteklemediğinden emin değilim, ancak Solaris bunu yapar. Linux'ta, swapiness sisteminin kullanılması muhtemelen yaklaşık olarak etkilidir.
#memlock

# CREATE TABLE deyimi sırasında farklı şekilde belirtilmemişse, yeni tablolar oluştururken varsayılan olarak kullanılan tablo türü.
default_table_type = InnoDB

# Kullanılacak iplik yığını boyutu. Bu hafıza miktarı her zaman bağlantı zamanında saklıdır. Kendi yığın aç UDF işlevlerini kullanırsanız veya işletim sisteminiz bazı işlemler için daha fazla yığın gerektiriyorsa, MySQL'in kendisi genellikle 64 K'den fazla belleğe ihtiyaç duymaz, bunu daha yüksek bir değere ayarlamanız gerekebilir.
thread_stack = 192K

# Dahili (bellek içi) geçici tablolar için maksimum boyut. Bir tablo bu değerden daha büyük büyürse, otomatik olarak disk tabanlı tabloya dönüştürülür Bu sınırlama tek bir tablo içindir. Birçoğu olabilir. Ayrıca, eğer max_heap_table_size <tmp_table_size, bunun yerine limit olarak kullanılacaktır, bu yüzden daha büyük yapmak yararlı değildir. tmp_table_size = 64M # İkili günlüğe kaydetmeyi etkinleştirin. Bu, bir # kopyalama yapılandırmasında MASTER olarak hareket etmek için gereklidir. En son yedeklemenizden zamanında kurtarmayı yapmak için # yeteneğine ihtiyacınız varsa, ikili günlüğüne de ihtiyacınız vardır. # ikili günlüğü için bir dosya adı belirtmek için önerilir, umarım # ev sahibi tarafından özel olmayan bir şey. Master-bin'i seçtim. log-bin = master-bin # Eğer zincirleme kölelerle çoğaltma kullanıyorsanız (A-> B-> C), sunucu B'de bu seçeneği etkinleştirmeniz gerekir. Kölenin ipliği tarafından yapılan güncellemelerin kölenin ikili günlüğü
log_slave_updates

# Uyarıları hata günlüğüne günlüğe kaydet
log_warnings

# Yavaş sorguları kaydedin. Yavaş sorgular "long_query_time" da tanımlanan süreyi aşan veya log_long_format etkinleştirildiğinde dizinleri iyi kullanmayan sorulardır. Sisteme sık sık yeni sorgular eklerseniz, bunun açık olması iyi bir fikirdir.
log_slow_queries

# Bu süreyi aşan (saniyeler içinde) tüm sorgular yavaş çalışılacaktır. Bir değer olarak "1" i kullanmayın, çünkü bu, zaman zaman çok hızlı sorguların güncellenmesine neden olacaktır (şu an MySQL yalnızca şu an ikinci doğrulukla zamanı ölçmektedir).
long_query_time = 1

# Yavaş sorgu günlüğüne daha fazla bilgi günlüğü yazın. Normalde bunun açık olması iyi olur. Bu, uzun süren sorgulara ek olarak dizinleri kullanmayan sorguların günlüğe kaydını sağlayacaktır.
log_long_format

# Tmpfs'i `tmpdir` ONLAYINIZ TAVSİYE EDİN (BE CAREFUL IF YOU PUT). Eğer bunu yaparsanız slave_load_tmpdir dosyasını bir tmpfs olmayan dosya sistemine ayarlamanız gerekir
tmpdir = /tmp
slave_load_tmpdir = /tmp

# MyISAM tablolar için dizin bloklarını önbelleğe almak için kullanılan Anahtar Arabelleğinin boyutu. Bazı bellek OS tarafından önbellek satırları için de gerektiği için, mevcut belleğinizin% 30'undan daha büyük bir değere ayarlanmayın. MyISAM tablolarını kullanmasanız bile dahili geçici disk tabloları için de kullanılacağı için 8-64M olarak ayarlamanız gerekir.
key_buffer_size = 32M

# MyISAM tablolarının tam tablo taramaları için kullanılan arabellek boyutu. Tam tarama gerekiyorsa, iplik başına ayrılır.
read_buffer_size = 2M

# Bir sıralama sonrasında sıralanmış sıralarla satır okurken, disk aramalarından kaçınmak için satırlar bu arabelleğe okunur. Bunu yüksek bir değere ayarlarsanız, ORDER BY performansını çok artırabilirsiniz. Her iş parçacığı için gerektiğinde tahsis edilir.
read_rnd_buffer_size = 16M

# MyISAM toplu eklemeler yapmak için (yani, INSERT ... SELECT, INSERT ... VALUES (...), (...), ... ve LOAD DATA INFILE) özel ağaç benzeri önbellek kullanır. Bu değişken, önbellek ağacının boyutunu iş parçacığı başına bayt olarak sınırlar. 0 olarak ayarlamak bu optimizasyonu devre dışı bırakır. En iyi performans için "key_buffer_size" değerinden büyük ayarlamayın. Bu arabellek, bir toplu ek algılandığında tahsis edilir.
bulk_insert_buffer_size = 64M

# Bu arabellek, MySQL'in, TAMİR, OPTİMİZE, ALTER tablo tablolarında ve YÜK VERİLERİNDEN KAYNAKLARDA boş bir tabloda dizini yeniden oluşturması gerektiğinde tahsis edilir. Her iş parçacığı için ayrılır, bu nedenle büyük ayarlara dikkat edin.
myisam_sort_buffer_size = 128M

# MySQL'in geçici dosyanın maksimum boyutu, dizini yeniden oluştururken (REPAIR, ALTER TABLE veya LOAD DATA INFILE sırasında kullanmaya izin verir.) Dosya boyutu bundan daha büyük olursa, dizin anahtar önbelleği üzerinden oluşturulur Yavaş).
myisam_max_sort_file_size = 10G

# Hızlı dizin oluşturma için kullanılan geçici dosya, burada belirtilen miktara göre anahtar önbelleğini kullanmaktan daha büyük olursa, anahtar önbellek yöntemini tercih edin. Bu, ağırlıklı olarak büyük tablolardaki uzun karakter anahtarlarını yavaş anahtar önbellek yöntemini kullanarak dizin oluşturmak için zorlar.
myisam_max_extra_sort_file_size = 10G

# Bir tabloda birden fazla dizin varsa, MyISAM bunları paralel sıralamayla onarmak için birden fazla iş parçacığı kullanabilir. Birden çok işlemciye ve bol miktarda belleğe sahipseniz bu mantıklıdır.
myisam_repair_threads = 1

# Düzenli şekilde kapalı MyISAM tablolarını otomatik olarak kontrol edin ve onarın.
myisam_recover

# BDB desteği etkin olan bir MySQL sunucusu çalıştırıyorsanız, ancak bunu kullanmayı planlamıyorsanız bu seçeneği kullanın. Bu, belleği kurtaracak ve bazı şeyleri hızlandıracaktır.
skip-bdb

# InnoDB desteği etkinleştirilmiş bir MySQL sunucunuz varsa, ancak bunu kullanmayı planlamıyorsanız bu seçeneği kullanın. Bu bellek ve disk alanından tasarruf sağlayacak ve bazı şeyleri hızlandıracaktır.
#skip-innodb

# InnoDB tarafından meta veri bilgisini depolamak için kullanılan ek bellek havuzu. InnoDB, bu amaçla daha fazla bellek gerektiriyorsa, işletim sisteminden ayrılmaya başlayacaktır. Bu, en yeni işletim sistemlerinde yeterince hızlı olduğundan normalde bu değeri değiştirmeniz gerekmez. SHOW INNODB STATUS kullanılan geçerli miktarı görüntüler.
innodb_additional_mem_pool_size = 32M

# Bu yapılandırma dosyası en az 8G'lık bir ana bellek varsayar
innodb_buffer_pool_size = 6.5G


# tablo başına innodb dosyası için tablo alanı boyutlarını belirleyemezsiniz, bu nedenle büyük bir autoextend kullanmak bu durumlarda tercih edilir.
innodb_data_file_path = ibdata1:1G:autoextend
innodb_autoextend_increment=128M
innodb_file_per_table

# InnoDB tablolama dosyalarının başka bir konumda saklanmasını isterseniz bu seçeneği ayarlayın. Varsayılan olarak bu MySQL datadir.
#innodb_data_home_dir = 

# InnoDB çekirdeğinde izin verilen iş parçacığı sayısı. En iyi değer, uygulamaya, donanıma ve OS zamanlayıcı özelliklerine bağlıdır. Çok yüksek bir değer, iplik parçalanmasına neden olabilir.
innodb_thread_concurrency = 16

# 1 olarak ayarlanırsa, InnoDB işlem günlüğünü ACID davranışı sunan her bir taahhütteki diske boşaltacaktır (fsync). Bu güvenliği tehlikeye atmaya hazır iseniz ve küçük işlemler yürütüyorsanız, disk G / Ç'yi günlüklere azaltmak için bunu 0 veya 2 olarak ayarlayabilirsiniz. Değer 0, günlüğün yalnızca günlük dosyasına yazıldığı ve günlük dosyası saniyede yaklaşık bir kere diske boşaltıldığı anlamına gelir. Değer 2, günlüğün her taahhütte günlük dosyasına yazıldığı anlamına gelir, ancak günlük dosyası yalnızca yaklaşık saniyede bir kez diske boşaltılır.
innodb_flush_log_at_trx_commit = 1

# InnoDB kapatma işlemini hızlandırın. Bu, InnoDB'nin bir tam boşaltma yapmak ve kapatma işleminde arabellek birleştirme ekini devre dışı bırakacaktır. Kapatma süresini çok artırabilir, ancak InnoDB bunun yerine bir sonraki başlangıçta bunu yapmak zorunda kalacaktır.
#innodb_fast_shutdown

# InnoDB'nin günlük verisini arabelleğe almak için kullandığı arabellek boyutu. Dolduğunda, InnoDB diske boşaltmak zorunda kalacaktır. Her neyse saniyede bir kez boşaltıldığı için, çok büyük olması mantıklı değil (hatta uzun işlemlerde).
innodb_log_buffer_size = 8M

# günlük dosyalarının, günlükler döndüğünde kontrol noktalarını tutmaması için yeterince büyük olduğundan emin olun!
innodb_log_file_size = 1G

# Günlük grubundaki toplam dosya sayısı. 2-3 değeri genellikle yeterlidir.
innodb_log_files_in_group = 2

# LVM'yi kullanırsanız ve sıcak yedekleme için dosya sisteminizi anlık olarak görüntülemeyi planlıyorsanız dikkatli olun. bunun çalışması için günlük dosyalarınız veri dosyalarınızla aynı mantıksal hacimde olmalıdır.
#innodb_log_group_home_dir

# InnoDB arabellek havuzundaki kirli sayfaların izin verilen maksimum yüzdesi. Buna ulaşılırsa, InnoDB onları temiz sayfalardan hiç kaçınmamak için agresif bir şekilde yıkamaya başlayacaktır. Bu, yumuşak bir sınır olup, tutulması garanti edilmez.
innodb_max_dirty_pages_pct = 80

# mümkün olduğunda dosya sistemi önbelleklerini atlamak için direction'u kullanın
innodb_flush_method=O_DIRECT

# Ne kadar bir InnoDB işlemi, geri alınmadan önce bir kilidin verilmesi için beklenmelidir. InnoDB, kendi kilit tablosundaki işlem kilitlenmelerini otomatik olarak algılar ve işlemi geri alır. LOCK TABLES komutunu veya aynı işlemde InnoDB'den başka işlemle güvenli depolama motorlarını kullanırsanız, InnoDB'nin fark edemediği bir kilitlenme ortaya çıkabilir. Böyle durumlarda zaman aşımı durumu çözmek için yararlıdır.
innodb_lock_wait_timeout = 120

# Bu yapılandırmayla, muhtemelen yine de önemi kalmaz, çünkü ikili günlüğü etkinleştirilir; bu, izolasyon seviyesi seri hale getirilemese bile seri hale getirilmiş taahhütleri zorlar.
innodb_commit_concurrency=0

innodb_open_files=2000
#
[mysqldump]
# Dosyaya yazmadan önce tüm sonuç kümesini belleğe tamponlamayın. Çok büyük masaları boşaltmak için gereklidir
quick

max_allowed_packet = 16M

[mysql]
no-auto-rehash

# Yalnızca anahtarları kullanan GÜNCELLEMELER ve SİLLER'e izin verin.
#safe-updates

[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
# İşlem başına izin verilen açık dosya sayısını artırın. Uyarı: Global sistem limitini yeterince yüksek ayarladığınızdan emin olun! Çok sayıda açılmış tablo için yüksek değer gereklidir
open-files-limit = 16384

Yukarıda açıklamaları ile ayar yapmanız için kodlanmış bir my.cnf bulunuyor. Peki biz ortalama olarak çalıştığımız sunucularda ne şekilde ayarlı bir my.cnf kullanıyoruz? Aşağıda eklediğim my.cnf ufak düzenlemeler ile küçük sunucular için kullanmakta olduğumuz ideal my.cnf ayar dosyası.

[mysqld]
performance_schema=off
skip-networking
innodb_file_per_table=1
tmpdir=/tmp
max_connections=200
max_user_connections=200
key_buffer_size=256M
myisam_sort_buffer_size=128M
join_buffer_size=1M
read_buffer_size=128K
sort_buffer_size=128K
table_open_cache=3072
thread_cache_size=1024
table_definition_cache=2048
open_files_limit=52000
wait_timeout=120
connect_timeout=120
tmp_table_size=128M
connect_timeout=120
tmp_table_size=128M
max_heap_table_size=128M
max_allowed_packet=268435456
query_cache_limit=4M
query_cache_size=128M
query_cache_type=1
interactive_timeout=120
max_connect_errors=15
local-infile=0
innodb_buffer_pool_size=128M
innodb_additional_mem_pool_size=64M
innodb_thread_concurrency=4
innodb_flush_method=O_DIRECT
default-storage-engine=MyISAM

[isamchk]
key_buffer=512M
sort_buffer_size=2M
read_buffer=2M
write_buffer=2M

[myisamchk]
tmpdir=/tmp
key_buffer=512M
sort_buffer=2M
read_buffer=2M
write_buffer=2M

Orta seviye sunucularda kullandığım ideal my.cnf dosyası ise aşağıda;

[client]
port                            = 3306
socket                          = /var/lib/mysql/mysql.sock

[mysqld-safe]
socket                          = /var/lib/mysql/mysql.sock
nice                            = 0

[mysqld]
# Basic
innodb_force_recovery = 1
bind-address                    = 127.0.0.1 # Comment out if you want remote servers to connect to this server's MySQL instance
datadir                         = /var/lib/mysql
lc-messages-dir                 = /usr/share/mysql
max-allowed-packet              = 128M
max-connect-errors              = 1000000
pid-file                        = /var/lib/mysql/mysql.pid
port                            = 3306
skip-external-locking
skip-name-resolve
socket                          = /var/lib/mysql/mysql.sock
tmpdir                          = /dev/shm/mysql/
user                            = mysql


# MyISAM Query Cache Settings
query-cache-limit               = 1M    # UPD
query-cache-size                = 70M   # UPD
query-cache-type                = 1

key-buffer-size                 = 150M   # UPD

low-priority-updates            = 1
concurrent-insert               = 2

# Common
max-connections                 = 100   # UPD
back-log                        = 512

wait-timeout                    = 90
interactive-timeout             = 90

join-buffer-size                = 2M    # UPD
read-buffer-size                = 2M    # UPD
read-rnd-buffer-size            = 4M    # UPD
sort-buffer-size                = 4M    # UPD

thread-cache-size               = 16   # UPD (most of the times you probably won't need to change this)
thread-stack                    = 192K

max-heap-table-size             = 50M
tmp-table-size                  = 50M

table-definition-cache          = 8000  # UPD
table-open-cache                = 1000  # UPD
open-files-limit                = 24000 # UPD

ft-min-word-len                 = 3     # Minimum length of words to be indexed for search results

expire-logs-days                = 2
log-error                       = /var/lib/mysql/mysql_error.log
log-queries-not-using-indexes   = 1
long-query-time                 = 0.1
max-binlog-size                 = 100M
slow-query-log                  = 1
slow-query-log-file             = /var/lib/mysql/mysql_slow.log

thread-cache-size               = 16   # UPD (most of the times you probably won't need to change this)
thread-stack                    = 192K

max-heap-table-size             = 50M
tmp-table-size                  = 50M

table-definition-cache          = 8000  # UPD
table-open-cache                = 1000  # UPD
open-files-limit                = 24000 # UPD

ft-min-word-len                 = 3     # Minimum length of words to be indexed for search results

expire-logs-days                = 2
log-error                       = /var/lib/mysql/mysql_error.log
log-queries-not-using-indexes   = 1
long-query-time                 = 0.1
max-binlog-size                 = 100M
slow-query-log                  = 1
slow-query-log-file             = /var/lib/mysql/mysql_slow.log

max_allowed_packet=32M
open_files_limit=50000
[mysqldump]
quick
quote-names
max-allowed-packet              = 16M

[mysql]

[isamchk]
key-buffer-size                 = 150M

Umarım yazıdan ve paylaştığım my.cnflerden sizler de kendi sunucunuza en uygun yapılandırmayı bulur. Kendi Mysql performansınızı kendinize göre düzenlersiniz. Bu arada yazıda bir çok yerden alıntı yaptım ve yeniden düzenledim. Tüm alıntı yaptığım yerleri hatırlamıyorum ancak hepsine teşekkür ederim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.