mySQL `ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction` hatası
Herhangi bir mySQL’de InnodB olan bir veritabanında update gibi table-lock koyan sorgusu çalıştırırken
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
hatasını alıyorsanız, konfigürasyon dosyasından
innodb_lock_wait_timeout=300
ekleyip mySQL i yeniden başlatırsanız sorununuz çözülecektir. Parametrenin değeri olan 300 saniye cinsindendir ve varsayılan değeri 50 sn. dir.
Bakınız : http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout
Popularity: 1% [?]
[root@efffe ~]# cat kursad.txt satir 1 satir 2 satir 3 satir 4 satir 5
gibi bir text dosyanız var ve bütün satırların başına satır numarası koymak istiyorsunuz.
Bunun için linuxte nl isimli bir komut var
[root@efffe ~]# nl kursad.txt
1 satir 1
2 satir 2
3 satir 3
4 satir 4
5 satir 5
veya
[root@efffe ~]# less -N kursad.txt
1 satir 1
2 satir 2
3 satir 3
4 satir 4
5 satir 5
kullanabilirsiniz.
Fakat daha özelleştirilmiş birşeyler isterseniz awk ile bunu yapabilirsiniz.
[root@efffe ~]# awk 'BEGIN{FS=",";OFS="|"} {$1=$1; print NR,$0}' kursad.txt > satirnumarali.txt
komutunu verdiğinizde satirnumarali.txt dosyasına satır numaralı şekilde yazacaktır.
[root@efffe ~]# cat satirnumarali.txt 1|satir 1 2|satir 2 3|satir 3 4|satir 4 5|satir 5
Popularity: 1% [?]
Snapshot reserve almost full dediğine göre biraz ayırdığımız alanı büyültmemiz gerekiyor.
netapp1> df -A -g aggr0 Aggregate total used avail capacity aggr0 573GB 519GB 127GB 90% aggr0/.snapshot 73GB 61GB 12GB 84%
Bunun için ;
netapp1> snap reserve -A aggr0 20
komutunu kullanıyoruz.
Default olarak ayrılan alan %5 Biz bu alanı %20 ye çıkartıyoruz. Yani toplam storage’ın %20 sini kullanacak.
netapp1> df -A -g aggr0 Aggregate total used avail capacity aggr0 573GB 519GB 54GB 90% aggr0/.snapshot 143GB 61GB 82GB 42%
Popularity: 1% [?]
[kursad@kursad ~]$ sudo su -
komutunu girdiğinizde root olmanız çok uzun zaman alıyorsa çözümü basit.
[root@kursad ~]# hostname kursad
komutu ile çıkan makine ismini öğrenin.
Daha sonra bu makine ismini /etc/hosts dosyasında 127.0.0.1 satırının en sonuna ekleyin.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 kursad ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Şimdi tekrar tekrar normal bir kullanıcı ile sudo su – komutunu denediğinizde hemen root olacaksınız vakit almadan.
Popularity: 1% [?]
Bunun için öncelikle Clickatel firmasından gerekli üyeliği almalısınız.
Size verilen kullanıcı ve api bilgilerini aşağıdaki gibi /etc/nagios3/commands.cfg dosyasına yazın.
define command{
command_name host-notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$ \nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | wget "http:/
/api.clickatell.com/http/sendmsg?user=USERNAME&password=PASSWORD&&api_id=API_ID&to=$CONTACTEMAIL$&text='** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ @ $LONGDATETIME$ **'"
}
define command{
command_name service-notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$ \nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | wget "http:/
/api.clickatell.com/http/sendmsg?user=USERNAME&password=PASSWORD&&api_id=API_ID&to=$CONTACTEMAIL$&text='** $NOTIFICATIONTYPE$ Service Alert: $SERVICEDESC$ on $HOSTNAME$ State: $SERVICESTATE$ @ $LONGDATETIME$ **'"
}
Daha sonra /etc/nagios3/conf.d/contacts_nagios2.cfg dosyası içine aşağıdaki gibi notification komutlarını girin. ( Kırmızı renkteki satırlar )
# Kursad DARA
####################
define contact{
contact_name swn_kursadd_sms
alias Kursad DARA
service_notification_period nonworkhours
host_notification_period nonworkhours
service_notification_options w,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-sms
host_notification_commands host-notify-by-sms
pager 532xxxxxxx
}
Sonrasında
/usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg
komutu ile nagios konfigürasyonunuzu kontrol edip hata yapmadığınızdan emin olun. Hata varsa düzeltmeniz gerekecek.
Hata yok ise
service nagios3 restart
ile nagios servisini tekrar başlatın.
Artık herhangi bir uyarı durumunda nagios size sms ile bilgi verecektir.
Popularity: 1% [?]
Facebook uygulamalarınızı kullanan kullanıcıların duvarlarına otomatik veri yollamak için aşağıdaki kod bloğunu kullanabilirsiniz.
$attachment = array('message' => 'mesajınız',
'name' => 'Uygulama adı',
'caption' => "Uygulama adı",
'link' => 'Uygulama linki',
'description' => 'İçerik',
'picture' => 'resim tam linki'
);
$result = $facebook->api('/me/feed/',
'post',
$attachment);
Not : İlgili javascriptleri ve api kodlarını da sayfanıza include etmiş olmanız gerekmektedir.
Popularity: 2% [?]
İncelenmesi gereken güzel bir checklist.
Güvenli mi yazdığınız programlar ?
Checklist için tıklayınız.
Popularity: 2% [?]
Kodunuzun en başında aşağıdaki kodu kullanırsanız kullanıcının sayfayı beğenip beğenmediğini anlayabilirsiniz.
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
echo "Sayfayı beğendiğiniz için teşekkürler";
} else {
echo "Önce sayfayı beğenmeniz gerekmektedir.";
echo("< s c r i p t > top.location.href='http://www.facebook.com/pages/blabla/198687143423423'< / s c r i p t >");
}
}
Popularity: 2% [?]
jQuery kullanırken firefox ta firebug ile debug ederken aşağıdaki hatayı alıyorsanız çözüm basit.
$ is not defined
$(document).ready(function(){
Gerekli javascript dosyalarını include ederken jQuery dosyasını kendi kullandığınız javascript dosyasından sonra include etmişsinizdir o yüzden bu hatayı alıyorsunuzdur.
Yani;
şeklinde yaparsanız kuvvetle muhtemel bu hatayı alacaksınız. Ama;
şeklinde include ederseniz sorununuz düzelecektir.
Popularity: 3% [?]
Web sitenizin pc ve mobile versiyonunu yaptıysanız ve otomatik yönlendirme yapmak isterseniz aşağıdaki kodu kullanabilirsiniz.
< ?php
$mobile_browser = '0';
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',
strtolower($_SERVER['HTTP_USER_AGENT']))){
$mobile_browser++;
}
if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or
((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))){
$mobile_browser++;
}
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-');
if(in_array($mobile_ua,$mobile_agents)){
$mobile_browser++;
}
if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
$mobile_browser++;
}
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
$mobile_browser=0;
}
if($mobile_browser>0){
header('Location: http://siteniz/mobile_versiyonu');
} else {
header('Location: http://siteniz/pc_versiyonu');
}
?>
Popularity: 3% [?]
Facebook
FriendFeed
LinkedIn
Twitter
Xing
Skype
Email
Google
MSN
FourSquare