• 29-04-2010, 12:32:38
    #1
    Merhaba arkadaşlar bu makalemizde SSH üzerinden veri tabanına nasıl hükmedebiliriz anlatmaya çalışıcaz , yedekleme , import , export , büyük boyutlu mysql ların okutulması gibi bazı konularda bilgi içeren bir makaledir.

    Ders -1 ( SSH'den Mysql veri tabanı yedekleme )

    Root olarak veya normal kullanıcı olarak SSH den login oluyoruz

    Burda yedekliyceğimiz örnek veri tabanı adı clubturk_mysql olarak düşünelim , aşağıdaki komutla veri tabanımızı yedkeleyebiliriz


    Alıntı
    mysqldump --database clubturk_mysql > clubturkmysqlyedek.sql -u root -p
    Komuttan sonra sizden şifre istiycektir bu şifre veri tabanı şifresidir doğru girdiğiniz taktirde yedekleme işlemi tamamlanacaktır

    Şifreyi yanlış girdiyseniz şöyle bir uyarı alıcaksınız

    Alıntı
    mysqldump:Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

    Bu komutu uygulağımızda clubturk_mysql'u clubturkmysqlyedek.sql adı altında yedeklencektir , yedek ismini siz belirleyebilirsiz

    Eğer birden fazla Mysql yedeklemek istiyorsanız alttaki komut size yardımcı olabilir.


    Alıntı
    mysqldump --database clubturk_mysql clubturk_mysql2 > mysql1ve2yedek.sql -u root -p


    Bu komutlada birden fazla veri tabanını yedeklemiş oluyoruz , en arkadaki ''root'' yazısı eğer root olarak baplanıyorsan öyle kalıcaktır , ancak kendi kullanıcı bilgilerinizle girdiyseniz kendi kullanıcı adınızı yazın.

    SSH'den Mysql Veri Tabanı yedekleme Metod 2

    Öncelikle root olarak serverımıza bağlanıyoruz ve /var/lib/mysql dizinine gidiyoruz.

    Komut :

    Alıntı
    cd /var/lib/mysql
    Burda yedekleyeceğimiz örnek Mysql clubturk_mysql olarak düşünelim ve alttaki komutla veri tabanımızı yedekliyoruz.

    Not: bu dizinde ''dir'' komutunu kullanarak tüm veri tabanlarını görebilirsiniz


    Alıntı
    tar -zcvf clubturk_mysql_db.tar.gz clubturk_mysql

    Komutuyla veri tabanımızı sıkıştırdık ve alttaki komutlada serverımızda aktif olan bir hesabın altına atabiliriz , tabi ordanda bilgisayarımıza indirebiliriz.


    Alıntı
    cp clubturk_mysql.tar.gz /home/clubturk/public_html
    Ve veri tabanımızı yedekleyip sonra sunucumuzdaki clubturk kullanıcısı altındaki public_html dizinine attık.

    Sunucudaki Bütün veri tabanlarını yedekleme


    Alıntı
    mysqldump --opt --user=root --password --all-databases | bzip2 -c > /backup/mysql2.bz2

    Komutuylada sunucumuzdaki tüm veri tabanlarını yedekleyebiliriz

    SSH'ile veri tabanı yedekleme ile ilgili anlatıcaklarım bu kadar şimdi 2. dersimize geçelim.
    DERS-2 ( SSH'den Veri tabanı okutma , import etme ve açma )

    1. Dersimizde Veri tabanı yedekleme ile ilgili 2 metod verdik , şimdi yedeklediğimiz veri tabanını nasıl açıcaz veya okutturucaz.

    Öncelikle root olarak serverımıza bağlanıyoruz ve /var/lib/mysql dizinine gidiyoruz.

    Komut :

    Alıntı
    cd /var/lib/mysql

    Burda yedekleyeceğimiz örnek Mysql daha önceden yedeklediğimiz clubturkyedek.sql olarak düşünelim ve alttaki komutla veri tabanımızı daha önceden oluşturdumuz veri tabanı içine açıyoruz.


    Alıntı
    mysql -u dbkullaniciadi -p dbadi < clubturkyedek.sql

    Burda dikkat etmemiz gereken dbkullaniciadi ve dbadi nı doğru girmemiz ve daha sonra bizden istenilen db şifresini doğru girmemizdir.

    Hatta biraz daha kolaylaştırıp açıcağımız veri tabanını bir ftp den çağıralım


    Alıntı
    mysql -u dbkullaniciadi -p dbadi < /home/clubturk/public_html/clubturkyedek.sql
    Şeklindede clubturk kullanıcısı altındaki public_html dizininin içindeki clubturkyedek.sql isimli veri tabanını komutta verdiğimiz bilgilerdeki mysql la yüklüyoruz.

    Eğer veri tabanımız başka bir serverdaysa


    Alıntı
    cd /var/lib/mysql

    Komutlarıyla /var/lib/mysql dizine çekip işlemlerimi yapabiliriz.

    SSH'den veri tabanı açma ile ilgili anlatıcaklarım bu kadar şimdi 2. dersimize geçelim ama öncelike bir çay molası
    DERS-3 ( SSH'den yeni veri tabanı oluşturma

    SSH'den tek bir komutla yeni bir veri tabanı oluşturabilirsiniz , gerekli komut aşağıdadır.


    Alıntı
    mysql -ukullanıcıadı -psifre create database veritabanıadı
    Komutuyla SSH'den veri tabanı oluşturabilirsiniz.
    DERS-4 SSH'den veri tabanı kaldırma

    SSH'den tek bir komutla veri tabanı kaldırabilirsiniz , gerekli komut aşağıdadır.


    Alıntı
    mysql -ukullanıcıadı -psifre drop database veritabanıadı

    Komutuyla girdiğimiz bilgilerdeki veri tabanı kalkıcaktır.

    Ve ayrıca

    Komutuyla veri tabanı tablonuzu optimize edebilir


    Alıntı
    myisamchk -r /var/lib/mysql/veritabanıadı/tabloadı.MYI
    Mysql servisinize restart atar


    Alıntı
    service mysql restart

    Mysql servisinizi durdurur


    Alıntı
    service mysql stop
    Mysql'larınızı onarır


    Alıntı
    mysqlcheck --repair -A

    mysqlcheck --optimize -A
    sürçü ihsan eylediysek affola , saygılar

    K
  • 20-09-2012, 13:11:05
    #2
    Üyeliği durduruldu
    Merhabalar hocam, yedeği alıyorum ancak dizine bir türlü aktramıyorum, "no such file or directory" uyarısı veriyor. Hatayı nerede yapıyorum acaba?
  • 29-09-2012, 09:49:45
    #3
    Yedeği restore ederken yaptığınız işlemleri ve ayrıca birde screen koyarsanız yardımcı olmaya çalışırım kardeşim
  • 27-07-2013, 14:56:04
    #4
    Çok açık bir anlatım olmuş ellerinize sağlık.
  • 03-08-2013, 18:49:39
    #5
    Kurumsal PLUS
    Not olarak ekleyeyim

    -e parametresi kullanırsanız kullanıcı adı ve şifre yazmanız gerekmez

    tabi /root altında .my.cnf de mysql bilgileri yer alıyorsa

    cPanel sunucularda yer alıyor

    -e parametresi ile yedek almak mesela

    mysqldump -e osman_db > yedek.sql

    komutundan ibarettir şifre vs yazmanız gerekmez.
  • 03-08-2013, 18:55:09
    #6
    Ni-Osman adlı üyeden alıntı: mesajı görüntüle
    Not olarak ekleyeyim

    -e parametresi kullanırsanız kullanıcı adı ve şifre yazmanız gerekmez

    tabi /root altında .my.cnf de mysql bilgileri yer alıyorsa

    cPanel sunucularda yer alıyor

    -e parametresi ile yedek almak mesela

    mysqldump -e osman_db > yedek.sql

    komutundan ibarettir şifre vs yazmanız gerekmez.
    Eklemeler için teşekkür ederim, hayırlı iftarlar