InnoDB arabellek havuzu boyutunu artır


11

MySql InnoDB için arabellek havuzu boyutu ve günlük dosyası boyutunu ayarlamakta zorluk yaşıyorum. Bir MySql uzmanından çok uzakım ama etrafta okuyorum ve bunu değiştirmek için sadece /etc/mysql/my.cnf dosyasına bu satırları ekliyorum

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

Sunucunun yaklaşık 7GB belleği vardır ve ayrıca bir web sunucusu çalıştırmaktadır, bu yüzden bu sayıların iyi bir başlangıç ​​noktası olması gerektiğini düşünüyorum. Ancak sunucuyu kaydettikten ve yeniden başlattıktan sonra değişikliklerin etkili olduğu görülmemektedir. Arabellek havuzunun hala 16.0M'de olduğunu bildiren Mysqltuner çalıştırmayı denedim. Ne yaptığımı biliyor musun? Daha fazla yapılandırma dosyası görmek isteyip istemediğinizi bize bildirin. Teşekkürler!


hangi dağıtım? dağıtım paketlerini mi yoksa başka bir şey mi kullanıyorsunuz? MySQL'e nasıl başlıyorsunuz? Kısacası, ne kurdunuz, neyi kurdunuz ve nasıl kurdunuz?
navaho

Bu Ubuntu sunucu x64 üstünde varsayılan lamba yığını
tgrosinger

/ Opt / lampp / etc içerisinde çalışacağına inandığım başka bir yapılandırma dosyası daha vardı.
tgrosinger

Yanıtlar:


7

Emin olun bu satırları içindedir [mysqld]sonra bölüm yani [mysqld]ancak diğer öncesi [section]gibi [mysqldump].


Onlar doğru bölümde, [mysqld] [mysqldump] 'dan hemen önce
tgrosinger

2

Bilgi için MySQL hata günlüğünüzü kontrol edin - büyük olasılıkla içinde bulunan /var/lib/mysql- bu da bigmem çekirdeği olan 32 bit bir sistem mi? Öyleyse, MySQL için 2 GB'den fazla adres kullanamazsınız.

Ayrıca - tampon havuzu boyutu hakkında MySQL'den onaylamak isteyeceksiniz - varsayılan 128M olduğunu düşünürsek, 16MB biraz kapalı geliyor . Bu sunucu için bir MySQL oturumuna 'DEĞİŞKENLERİ GİBİ GÖSTER' innodb_buffer_pool_size 'yazarak bunu onaylayabilirsiniz. Sonuç bayt cinsindendir.


Nedense o dizine giremiyorum. Ben / var / lib ls yaptığımda görebiliyorum ama içine cd denemek için "izin reddedildi" olsun. Eğer sudo olarak cd yapmaya çalışırsam "Böyle bir dosya veya dizin yok" yazıyor Düşünceler? Ubuntu Sunucusunun 64bit kurulumudur.
tgrosinger

Sen (muhtemelen /etc/mysql/my.cnf /etc/my.cnf veya debian) sizin my.cnf gönderilmesi gerekiyor
thinice

Ayrıca - tampon havuzu boyutu hakkında MySQL'den onaylamak isteyeceksiniz - 16MB, varsayılan 128M olduğu göz önüne alındığında, biraz kapalı geliyor . Bunu, sunucu için bir MySQL oturumuna 'DEĞİŞKENLERİ GİBİ GÖSTER' innodb_buffer_pool_size 'yazarak onaylayabilirsiniz. Sonuç bayt cinsindendir.
thinice

1
sudo cdsudo çalışmaz, çünkü sudo doğru ayrıcalıklara sahip bir alt kabuk oluşturur ve bittiğinde onu kapatır ve sizi başladığınız yerde bırakır. sudo -sBunun yerine deneyin .
Ladadadada

Bu yüzden DEĞİŞKEN DEĞİŞKENLERİ GİBİ kullandığımda ... tampon havuzu boyutunun 16777216 olduğunu ve aslında 16M olduğuna inandığımı söylüyor. İşte th my.cnf: hastebin.com/binaqeforu.vala Çok teşekkürler!
tgrosinger

2

Benim durumumda sorun buydu innodb_buffer_pool_instances.

Ben azaltarak beri innodb_buffer_pool_sizeonu yuvarlama bitti, bu, örneğin birden az 1GB oldu.

Ben de örnekleri azaldığında, nihayet havuz boyutunu değiştirdi !


0

Mysql'yi --no-defaultults veya (-no-defaultults) ile başlatırsınız, bu da bir yapılandırma yüklememesine neden olur. Ayrıca --defaults-file (veya -default-file, emin değilim), bu da belirli bir yapılandırma yüklemesine neden olur. Ayrıca, düzenlediğinizden farklı bir yapılandırma olup olmadığını da kontrol edin.

Şununla başlamayı deneyebilirsiniz:

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

Ya da zaten başladığınız parametreleri kontrol edin ve bunlardan birinin yapılandırmayı atlayıp atmadığına bakın.


Ubuntu'da nasıl başladığını nasıl görebilirim? Ben kemer için alışkınım sadece rc.d dosyasına ekleyecektim, ama burada böyle bir şey görmüyorum.
tgrosinger

Arch BSD Style Init kullanırken Ubuntu SysV Init kullanıyor. Bu nedenle, /etc/init.d dosyasında başlatmak için ve muhtemelen / etc / default dosyasında seçeneklerin ayarlandığı bir dosya vardır. 'Ps -ef | grep mysql 'şu anda hangi seçeneklerle çalıştığını görebilirsiniz.
juwi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.