... Posts Tagged ‘mySQL’

Mysql’de diziye göre sıralamak

Cuma, Şubat 24th, 2012

SQL sorgularında “where  siparis_id in (2,10,1,3)” gibi yapılar pek tasvip edilmese de, zorunlu kaldığınız durumlar olabilir. Eğer nihayi çıktınızı da bu sırada görmek istiyorsanız sorgunun en sonuna

order by FIND_IN_SET(siparis_id, '2,10,1,3')

yazmanız yeterli.

MySQL’de bozuk view’ların detayını görmek

Cuma, Aralık 9th, 2011

MySQL view’ları siz view’i oluşturduğunuz tabloda yapısal değişiklikler yaptığınızda bozulurlar. Kullandığınız veritabanı istemcisine bağlı olarak MySQL’deki bozuk viewlarınızı oluşturan sorguyu göremeyebilirsiniz. PhpMyAdmin gösterir mesela. Göremediğiniz view’ın içeriğini not almamışsanız düzeltmek için epey terlemeniz gerekir.

Eğer istemciniz bozuk view’ları göstermiyorsa şu query’i kullanarak view detayını bozuk da olsa alabilirsiniz.

select view_definition from information_schema.views where table_name = “buraya_view_adi_gelecek”;

Wine for Mac

Salı, Ağustos 9th, 2011

Mac kullanmaya başladığımdan beri bilgisayarda sadece program yazmak değil bilgisayarı kullanmak da büyük bir keyif haline gelmişti benim için. Mac’deki tek şikayetim doğru düzgün -daha doğrusu alıştığım şekilde olan- bir veritabanı istemcisi bulamamaktı. Veritabanı uygulaması olarak EMS’nin eline su dökebilecek bir yazılım bilmiyorum. Mac’de EMS yerine Navicat, SequelPro gibi muadillerini kullanarak idare ediyordum ya da EMS’yi parallel ile çalıştırıyordum. Mac’de o uyuz Windows başlangıç sesini duymak ve etrafımdan “oha! windows mu kurdun mac’e, naptın hacı ya?” nidalarıyla karşılaşmak canıma yetti ve dün keşke Wine’nın da Mac versiyonu olsaymış dedim. Meğer varmış! Şimdiye kadar hiç Wine aklıma gelmemişti. Ofiste Linux kullanan arkadaşlarım Wine kullanıyorlardı ve çok büyük problemler yaşamıyorlardı. Amcalar sağolsunlar MacPorts’a Wine’ı da eklemişler. Kaç saat sürdü bilemiyorum (çünkü bilgisayarı açık bıraktım ertesi gün ancak bitti kurulum) ama sorunsuz bir şekilde MacPorts’dan Wine’ı kurdum. MacPorts için şu yazıma bakabilirsiniz (Lion kullananlar için xCode’un kurulu olması gerektiğini hemen not düşeyim).

Komut satırından

#port install wine

deyip sabırla saatlerce bekledikten sonra Wine sorunsuzca kuruldu. Sıra EMS’yi kurmaya geldi. Yine komutsatırından EMS’nin setup dosyasının oldugu klasöre geçip

#wine MyManagerFullSetup.exe

komutunu çalıştırınca Windows’dan aşina olduğunuz kurulum ekranı geliyor, “Next”, “Next” diyerek programı kuruyorsunuz. Lazım olmaz ama yine de söyleyeyim, eğer Registry ile oynamanız gerekiyorsa(!) wine’ın registry ayarları ~/.wine/ klasörünün içinde. Wine’nın diğer klasörleri de burda (drive_c gibi).

Şimdi sıra geldi EMS’yi Dock’ta bir simgeye tıklayarak çalıştırmaya. Bunun için küçük bir AppleScript yazacağız. Endişeye mahal yok, ben de hayatımda ilk kez yazdım, ısırmıyor.

Spotlight’dan “AppleScript Editor” uygulamasını bulup çalıştıralım. Açılan ekranda aşağıdaki kodu yazalım (siz kurduğunuz uygulamaya göre yolu düzenlemelisiniz).

tell application “Terminal”

do script “/opt/local/bin/wine ~/.wine/drive_c/Program\\ Files/EMS/SQL\\ Manager\\ for\\ MySQL/MyManager.exe”

end tell

Bu kodu yazdıkdan sonra uygulamanın en üstünde yer alan “Compile” simgesine tıklayın. Compile işlemi başarılı olduysa yazdığımız kod renk değiştirecektir. Kodu denemek için yine yukarıda yer alan “Play” simgesini kullanabilirsiniz. Terminal ekran çalıştıktan sonra uygulamamız başarılı bir şekilde açılacaktır. Terminal ekranı göstermeden bu işi yapmanın bir yolu var mı bilmiyorum. Bilenler varsa ve paylaşırlarsa sevinirim.

Kodumuzun düzgün çalıştığını test ettikten sonra kaydedebiliriz. Kaydederken “Application” formatında kaydetmeyi unutmayın. Aksi halde çalışmayacaktır. Artık bu oluşturduğumuz basit uygulamayı Dock’a sürükleyebiliriz ve üzerine tıklayarak uygulamamızı başlatabiliriz. Keşke simgesini de değiştirebilsek, fakat onu da nasıl yapılır bilmiyorum. Bilenler paylaşsın lütfen.

Kaynak: http://davidbaumgold.com/tutorials/wine-mac

Hayat kurtaran sql: mysql replace();

Pazartesi, Temmuz 19th, 2010

Hostinginden ve  teknik desteğinden sorumlu olduğunuz bir blog var. Müşterinizi kırmamak için makul isteklerine “peki” demeniz gerekiyor. Müşteri “siteyi sizin sunucunuza taşıdık, gayet güzel ama bazı dosyalar koymuştum, onlara tıklayınca indirme penceresi açılmıyor. Neden?” diye soruyor.

Web sitesi üzerinden kırık linki denediğimde sorun hemen kendini gösteriyor. Link eski sunucunun “ip adresini” gösterecek sekilde verilmiş. Yeni sunucudaki ip adresi tutmadığı için linkler çalışmıyor. Yoksa dosyalar sağlam ve yerli yerinde.

En basitinden bir php script yazar, iki sql ile sorunu çözerim diye düşündüm: İlk sql bu ip’nin geçtiği satırları çekecek, while içerisinde str_replace ile link düzeltilecek ve ikinci bir sql ile aynı post update edilecek.

Tam yazmaya başlıyordum ki bu işlemi veritabanı yapamaz mı acaba dedim ve replace komutunu Mysql için arattım. Daha önce hiç kullanmamıştım, meğer varmış. Kullanımı da çok kolay. Böylece tek satır php yazmadan basit bir sql çalıştırarak zahmetsizce müşteriyi memnun edebildik.

İşte hayat kurtaran mysql replace komutunun kullanımına örnek:

update wp_posts set post_content=replace(post_content,”http://78.40.231.2/~olduser/”,”http://sub.domain.com/~newuser/”) where post_content like ‘%http://78.40.231.2/~olduser/%’

MacPorts ile MySQL kurulumu

Cumartesi, Nisan 24th, 2010

Bir önceki yazımızda MacPorts kullanarak MySQL ve PostgreSQL destekli bir Apache2-PHP5 kurulumu gerçekleştirmiştik. Bu yazımızda ise MacPorts ile MySQL kurulumunu öğreneceğiz. Öğreneceğiz diyorum çünkü ben de bu işlemleri henüz yeni kurduğum macos üzerinde ilk defa yapıyorum. Hazır yapmışken bir yere kaydedeyim de ileride tekrar nasıl yaptığımı hatırlamak kolay olsun istedim. BT Hayat’a da yeni bir yazı çıkmış oldu böylece..

MacPorts ile MySQL’i kurmak zaten iki satırlık bir iş:

#sudo port install mysql5
#sudo port install mysql5-server

MySQL’in başlangıc veritabanlarını oluşturalım:

# sudo /opt/local/lib/mysql5/bin/mysql_install_db –user=mysql

(daha fazla…)

MacPorts ile Apache2 ve PHP (MySQL-PostgreSQL destekli) kurulumu

Cumartesi, Nisan 24th, 2010

Bir PHP geliştiricisi olarak uzun yıllar Windows tecrübesi yaşadıktan sonra artık aradığımı bulmuş ve Macos kullanmaya karar vermiştim. Bunun envai çeşit nedenini bir önceki yazıda zaten uzun anlatmıştım. Bu yazıda macos’da Apache ve PHP (MySQL-PostgreSQL destekli) kurulumundan bahsedeceğiz. Aslında Apache-PHP-MySQL için en pratik yol MAMP kurmak ama bu şekilde kurulan PHP’ye postgreSQL desteği vermek zor. Bunun için en iyi yöntem MacPorts kurmak.

Bilindiği üzere Macos aslında BSD tabanlı bir Unix işletim sistemidir. BSD’nin de en güzel özelliklerinden biri Ports denen bir yazılım kurma sistemi olmasıdır. Bu sistem sayesinde pek çok yazılımı sadece bir kaç komutla internetten indirip güncelleyebilirsiniz. İşte bu Ports sistemini Mac’e de uyarlamışlar ve adına MacPorts demişler.

MacPorts komut satırı (terminal) üzerinden çalıştırılan bir uygulama ama işletim sisteminize kurulu olarak gelmiyor. Bunun için bu sayfadan macos’unuza uygun olan dmg imajını öncelikle indirip kurmanız gerekiyor. Bizim sistemimiz Snow Leopard 1.6.3 olduğu için biz bu dosyayı indirip kurduk.

(daha fazla…)