MySQLdump – InnoDB single-transaction ve quick dump
Büyük ve yoğun kullanılan InnoDB veritabanlarının mysqldump ile yedeklenmesı esnasında database’i kullanan uygulamayı bloke etmemek için single-transaction isimli bir özellik bulunuyor. Sadece InnoDB tablolar için kullanılabilen bu parametre sayesinde yedeklenme sırasında uygulama kesintiye uğramıyor. Büyük veri tabanlarını (mesela 70-80GB gibi) yedeklemek zaman isteyen bir süreç olduğundan dolayı yedekleme sırasında db’yi kullanan uygulamayı kilitlememek bu anlamda önemli bir nokta haline geliyor.
Single-transaction özelliğini kullanmak için mysqldump cümlesine parametre olarak eklemek yeterli:
# mysqldump --user=kullaniciadi --password=sifre --single-transaction database_adi > database_adi.sql
mysqldump dökümanıında single-transaction ile ilgili açıklama şu şekilde:
Yazinin devami icin tiklayin.
MySQL Database Schema Export
Bir mysql database’inin tablo yapısını, tabloların içerdiği veriyi almaksızın çıkartmak için aşağıdaki mysqldump cümlesi kullanılabilir.
# mysqldump --no-data --tables -u kullaniciadi -p db_adi >> db_adi.sql
–no-data parametresini kaldırırsanız, database yapısı içerdiği verilerle alınacaktır.
Bunun yanısıra database’iniz de tanımlı stored procedurler ya da function’lar var ise bu rutinleri de almak için mysqldump’ı aşağıdaki gibi kullanabilirsiniz.
# mysqldump --no-data --tables --routines -u kullaniciadi -p db_adi >> db_adi.sql
Daha fazla bilgi için bkz: