Forum
Merhaba,
Haftalardır sunucumdaki veritabanı bağlantısında sorunlar yaşıyorum. Epostama gelen şu hataları takiben, 3-5 dk içerisinde veritabanı ve ona bağlı olarak sunucudaki tüm siteler erişilemez oluyor.
DISKCRITICAL: /var/tmp on
DISKCRITICAL: /tmp on
not: 600-700.000 satırlık mysql tablom var sitelerden birinde.. ve sorun, sitemap olarak gösterien bu tablonun google tarafından taranırkenki güçlüğünden/fazla sorgu yapmasından kaynaklanıyor sanıyorum..
http://wiki.vps.net/controlpanels/cpanel/increase-tmp-partition-in-cpanel-and-secure-it/
sorunun çözümü için tmp dosyasının dosya boyutunun arttırılması gerektiğini öğrendim. Yukarıdaki linkte açıklanan adımları adım adım takip ettim. her şey düzgün görünüyordu.. hatta o gün ve ertesinde tekrar tekrar kontrol ettim eski haline dönmesin ayarlar diye. (tmp size'ı 2 katına çıkarmıştım)..
ama ne oluyor bilmem.. 1 hafta sonra hoop yine aynı hata; yine tmp size eski haline dönmüş :S
ne yapmam lazım, fikri olan var mı?
not2: sunucumda cpanel kurulu. ve geçici bir çözüm olsa da, yapabildğim tek şey: reboot, mysql stop-start, repair mysql vs... bunlarla da düzelmiyor aslında; ama xx zaman sonra kendi kendine çalışmaya başlıyor siteler.. sanırım cpanel onarıyor, yeniden başlatıyor vs kendi kendine..
Sunucu olarak ne kullanıyorsunuz ?
Linux işletim sistemlerinde bu şekilde şişen log dosyaları için logrotate konfigürasyonu belki işinizi çözebilir.
Ayar şişen log dosyasının belirlediğiniz kapasiteye geldiğinde üzerine yazarak devam ediyor. Böylece kapasite artırmanızada gerek kalmaz.
Biraz araştırın derim.
Kolay gelsin
araştırayım; teşekkür ediyorum..
Yalnız; bu dediğiniz daha çok sistem loglarıyla ilgili anıyorum.
benim temp dosyam şişiyor. yani, cPanel Log Rotation Configuration da temp dosyasını değiştirme seçeneği çıkmıyor.
bu arada başka çözüm önerisi olan varsa da, paylaşırsa sevinirim.. (sunucumda centos işletim sistemi, cpanel, apache-mysql kullanıyorum)
----
şu seçenekler var log rotation'la konfigüre etmem için. hangisini seçmeliyim bu sorun için?
access_log
build_locale_databases_log
cpdavd_error_log (in rotation)
cphulkd.log (in rotation)
cphulkd_errors.log (in rotation)
cpwrapd_log
dnsadmin_log
error_log
license_log
login_log
queueprocd.log
safeapacherestart_log
setupdbmap_log
stats_log
tailwatchd_log
service cpanel stop
service cphulkd stop
service dns stop
service mysql stop
service httpd stop
1. Stop cpanel, apache (litespeed), mysql services:
/etc/init.d/cpanel stop /etc/init.d/httpd stop /etc/init.d/lsws stop /etc/init.d/mysql stop
2. Umount /tmp and /var/tmp:
umount -l /tmp umount -l /var/tmp
3. Move /usr/tmpDSK file to another location (just in case you’ll need to mount it somewhere else to preserve data):
mv /usr/tmpDSK /usr/tmpDSK_back
4. Modify /scripts/securetmp to set tmpdsksize to desired size:
vi /scripts/securetmp
$tmpdsksize = 2048000
5. Run:
/scripts/securetmp
burdan önce şunu yapmanız gerekli
df -h burda tmp size kontrol edin ayrıca mysqld tmp klasörünü başka bi yere attach edin.
6. Start cpanel, apache (litespeed), mysql services:
/etc/init.d/cpanel start /etc/init.d/httpd start /etc/init.d/lsws start<- litepeed web server için gereklidir. /etc/init.d/mysql start
Bu dediğiniz şeyi yapıyorum. (Benim verdiğim linkten tek farkı, işlemi yaptıktan sonra tmp size'ı kntrol etmek anladığım kadarıyla).. ssh bağlantısını kesip, yeniden bağlandığımda.. rakam güncellenmiş görünüyor...
Ancak o gün herşey yolunda gibi görünse de, 3-5 gün sonra tekrar kontrol ettiğimde temp boyutu yine eski haline dönüyor..
temp şişiren nedir mysqlmi ?
Dedicated bir sunucumu yoksa VPS mi kullanıyorsunuz?
Standart olarak securetmp dizinini cpanel 500 Mb olarak ayarlar. Tmp dizinini boyutunu ne kadar ayarlıyorsunuz ve eski haline dönüyor?
Yaptığınız ayarlardan sonra standart ayarlara dönüyor ise, kısıtlı erişim izniniz olabilir mi?
Mysql in tmp dizinini değiştirmenize rağmen problem devam ediyor mu?
Sorun olduğunda, df -h çıktısını gönderebilirmisiniz? Inode da doluyor olabilir df -ih çıktısınıda gönderebilirmisiniz.
sadecehosting'de dedicated sunucu kullanıyor; ve 7buçuk yahut 10 gb'a çeviriyormeye çalışıyorum limiti.
( DISKCRITICAL: /tmp on xxx.sunucu.com (xxx.xxx.xx.xx): 3.74/3.94 GB - 100% dediğin göre; 4gb sanırım limit )
kısıtlı izin zannetmiyorum; sunucunun tüm kontrolü bende.. (ki ilk yaptığımda zaten değişiyor rakam... dediğim gibi: ssh'ten bağlantıyı kesip, atıyorum 1 saat sonra yeniden bağlanıyorum.. pico /scripts/securetmp deyip kontol ettiğimde rakam 750 görünüyor)
mysql'in tmp dizinini değiştirmeyi anlayamdım; çok iyi değilim bu konuda :/
Tamam; sorunun tekrar olmasını bekleyip, df -h çıktısı paylaşacağım; ÇOK ÇOK TEŞEKKÜR EDİYORUM, YARDIMINIZ VE İLGİ İÇİN.
temp'i şişiren şey; google botlarının 500.000 satırlık mysql dosyamı içeren sitemap grubunu indexlemeye çalışması..
4 Gb tmp dizini için oldukça yeterli. Tmp dizinini arttırmanıza gerek yok. Mysql tmp dizinini değiştirmeniz ( mysql /tmp dizinini kullanmayacak) probleminizi çözecektir.
Mysql tmp i şu şekilde değiştirebilirsiniz.
mkdir /mysqltmp -- root dizininin altında mysqltmp isminde klasör oluşturur.
nano /etc/my.cnf
[mysqld] bölümünün altına,
tmpdir=/mysqltmp yazın, daha sonra mysql i restart edin. Permission hatası almamak için aşağıdaki komutu uygulayabilirsiniz.
chmod 1777 /mysqltmp
/etc/init.d/mysql restart
dediğiniz şeyi yapacağım.. bu arada df- h sonucu şu:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 898G 93G 759G 11% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/usr/tmpDSK 4.0G 1.2G 2.6G 32% /tmp (bu oran çok değişiyor... %50-%70 vs)