mysqldump kullanımı

mysqldump komutu veritabanının yedeğini almak için ve bu yedekleri geri yüklemek için kullanılan bir komuttur. Veritabanının yedeğini almak derken, yapabileceğimiz işlemler kısıtlı değildir. Tek bir veritabanının yedeğini almak, birden çok veritabanının yedeğini almak, tüm veritabanlarının yedeğini almak, tek bir veritabanından seçtiğimiz tabloların yedeğini almak gibi işlemleri yapabiliriz.

mysqldump komutunun kullanımı aşağıdaki 3 şekilde özetlenebilir.

mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1
mysqldump [OPTIONS] --all-databases [OPTIONS]

Parametrelerinden bahsedecek olursak;

–add-drop-database(--add-drop-database) ve –add-drop-table(--add-drop-table) parametreleri, alacağımız yedeğe CREATE DATABASE ve DROP DATABASE ekler. Böylece yedeği geri yüklerken, eğer tablo varsa, olası bi hatadan kurtulmuş oluruz.

–default-character-set=utf8(--default-character-set=utf8) parametresi ile (dikkat: default kelimesinden önce 2 adet çizgi var, diğerleri tek çizgi)(utf8 yerine başka bir seçenek de yazabiliriz) dil seçeneğini belirleyebiliriz. Böylece geri yüklemelerde türkçe karakter problemi yaşamanın önüne geçeriz.

–add-locks(--add-locks) parametresi ile yedekleme sırasında tabloları kilitleyebiliriz. Böylece yedeklerken tablolara yeni veri yüklenemez, böylece yedekleme işlemimizin süresi kısalabilir.

Örnek vererek açıklamaya çalışayım.

3 adet veritabanımız, bunların içinde de 2’şer tane tablomuz olduğunu varsayalım.

veritabanı : Log
tabloları : mysql_error, php_error

veritabanı : Users
tablolaro : admin, customer

veritabanı : Blog
tabloları : options, comments

Tek bir veritabanının yedeğini alalım;

mysqldump -u root -p Log > log.sql

Log veritabanındaki tüm tabloları log.sql olarak yedekledik. log.sql’in başına dosya yolu da ekleyebiliriz. Örneğin A:/test/yedekler/log.sql gibi bir yere de yedekleyebiliriz.

Dil seçeneğini nasıl kullanacağımıza bakalım;

mysqldump -u root -p --default-character-set=utf8 Log > log.sql

–add-drop-database kullanarak yedekleyelim bir de

mysqldump -u root -p --add-drop-database --default-character-set=utf8 Log > log.sql

Tek veritabanından tek bir tabloyu yedekleyelim;

mysqldump -u root -p Users customer > usersCustomer.sql

Birden çok veritabanının yedeğini alalım;

mysqldump -u root -p --databases Users Blog > usersAndBlog.sql

Tüm veritabanlarının yedeğini alalım;

mysqldump -u root -p --all-databases > allMysqlDb.sql

Aldığımız yedekleri geri yüklemek istediğimiz zaman da yapmamız gereken çok basit;

mysqldump -u root -p {veritabanı adı} < {yedek}

mysqldump -u root -p Log2 < log.sql
6 Comments

    mysqldump kullanımı | Kara Kule

    […] işlemler kısıtlı değildir. Tek bir veritabanının yedeğini… Devamı için : mysqldump kullanımı Share this:TwitterFacebookLike this:BeğenBe the first to like this. By ahmet orsorlu • […]

    mysqldump kullanımı | Boğaç Aslanyürek

    […] işlemler kısıtlı değildir. Tek bir veritabanının yedeğini… Devamı için : mysqldump kullanımı This entry was posted in Professional and tagged mysql export, mysql import, mysql yedek alma, […]

    mysqldump kullanımı | yusufozkay

    […] işlemler kısıtlı değildir. Tek bir veritabanının yedeğini… Devamı için : mysqldump kullanımı Share this:TwitterFacebookLike this:BeğenBe the first to like this. This entry was posted in […]

    mysqldump kullanımı « Lé Blog

    […] işlemler kısıtlı değildir. Tek bir veritabanının yedeğini… Devamı için : mysqldump kullanımı Share :FacebookTwitterStumbleUponLinkedInLike this:LikeBe the first to like […]

    mysqldump kullanımı « Anil's Blog

    […] işlemler kısıtlı değildir. Tek bir veritabanının yedeğini… Devamı için : mysqldump kullanımı Like this:BeğenBe the first to like […]

    MySQL Table is marked as crashed and last (automatic?) repair failed hatasi « Dubluve.net

    […] kendinize ait bir sunucunuz var ise, Veritabanı yedekleme cronjobu eklemenizi tavsiye ederim. Buradan mysqldump ile yedek almayı […]

Bir Cevap Yazın