Mysql sunucusu geride herhangi bir günlük bırakmadan çöküyor


0

10 x 64 ubuntu sunucusunda çalışan bir mysql sunucusuna (v5.6) sahibim. Her zaman bir araç trafiğiyle çalışıyor ve çalışıyor, ancak her seferinde arkasındaki herhangi bir günlük iletisini bırakmadan çöker ve yeniden başlatılıyor, yeniden başlattıktan sonra, genellikle yaklaşık 10 dakika süren ve mysql error.logdosyasının sıfırlanmasına neden olan çöküş kurtarmaya başlar ve şöyle görünür:

2017-07-27 10:07:37 23427 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
2017-07-27 10:07:37 23427 [Note] Plugin 'FEDERATED' is disabled.
2017-07-27 10:07:37 23427 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-07-27 10:07:37 23427 [Note] InnoDB: The InnoDB memory heap is disabled
2017-07-27 10:07:37 23427 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-07-27 10:07:37 23427 [Note] InnoDB: Memory barrier is not used
2017-07-27 10:07:37 23427 [Note] InnoDB: Compressed tables use zlib 1.2.8
2017-07-27 10:07:37 23427 [Note] InnoDB: Using Linux native AIO
2017-07-27 10:07:37 23427 [Note] InnoDB: Not using CPU crc32 instructions
2017-07-27 10:07:37 23427 [Note] InnoDB: Initializing buffer pool, size = 5.0G

2017-07-27 10:07:38 23427 [Note] InnoDB: Completed initialization of buffer pool
2017-07-27 10:07:38 23427 [Note] InnoDB: Highest supported file format is Barracuda.
2017-07-27 10:07:38 23427 [Note] InnoDB: Log scan progressed past the checkpoint lsn 194934547118
2017-07-27 10:07:38 23427 [Note] InnoDB: Database was not shutdown normally!
2017-07-27 10:07:38 23427 [Note] InnoDB: Starting crash recovery.
2017-07-27 10:07:38 23427 [Note] InnoDB: Reading tablespace information from the .ibd files...

Kilitlenme kaynağını gösteren günlüğü korumak için yapabileceğim bir şey var mı, bu yüzden sorunu çözebilirim.


MySQL kılavuzundaki adımları takip ettiniz mi?
yoonix,

Yanıtlar:


2

Zaman zaman MySQL sunucusunun Linux Bellek Dışı (OOM) katil işleminin avına düşmesi olasıdır . Bu tür etkinlik izlerini komutun /var/log/syslogçıktısında veya içinde bulabilirsiniz dmesg.

Sistem RAM'de kısa devre yaptıysa ve MySQL'i öldürdüyse, bunu önlemek için MySQL sunucu işleminin ayarlarını yapabilirsiniz. Örneğin, MySQLTuner-perl betiğini kullanın . Çıktısındaki Performans Metrikleri , kurulu RAM'in yüzdesi olarak MySQL sunucusu işleminde mümkün olan maksimum bellek kullanımını gösterir.


İşte syslog dosyasında bulunan budur: kernel: [3541047.134888] type=1400 audit(1501133854.102:20): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/dev/tty" pid=14685 comm="mysqld" requested_mask="rw" denied_mask="rw" fsuid=107 ouid=0. Sanırım açılmış dosya limiti hakkında, ancak eşiği nasıl belirleyebilirim?
Ehsan Khodarahmi

Alıntılanan mesaj açık dosya limiti ile ilgili değil. /usr/sbin/mysqldTTY'sine yazılamadı. Satırı ekleyin /dev/tty rw,etmek /etc/apparmor.d/usr.sbin.mysqldve MySQL gerçek hata mesajı çıktı mümkün olacak.
RLazar

mysqlshow global variables like '%open_files_limit%';
MySQL

& tam olarak mysql, gerçek hata mesajını verecek mi?
Ehsan Khodarahmi,

Mesajlar hala görünmelidir /var/log/mysql/error.log.
RLazar

0

Sorunuzu Cevaplamak için, Kilitlenme kaynağını gösteren günlüğü korumak için yapabileceğim bir şey var mı, bu yüzden sorunu çözebilirim.
Evet, [mysqld] bölümündeki .cnf dosyasına, xx için - expire_logs_days = 7 # için yeni bir satır ekleyin, xx tarafından varsayılan 0 mm / gg / ccyy'den 7 gün olacak. Görmek için error.log bulduğun dizine göz atın.


0

Aynı sorunla bugün de Windows 10 makinesinde karşılaştım. Sunucu, başlangıçta olay görüntüleyicinin kayıt defterinde hiçbir şey bırakmadan çökmeye devam etti.

Şansım yaver giderse, Mysql topluluk sunucusunun (en azından 8.x sürümünün), my.ini dosyasında belirlediğimiz konum canlı değilse çöktü.

Bu ayarı, artık bulunmayan taşınabilir bir cihazdan veri dosyaları yüklemek üzere güncellediğinizde veya yolunuzun yanlış olması durumunda ortaya çıkabilir.


Referansınız için MySQL topluluğuna sunduğum
jdsurya
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.