MySQLdump – InnoDB single-transaction ve quick dump
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYYfP4xd' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
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:
This option sends a START TRANSACTION SQL statement to the server before dumping data.
It is useful only with transactional tables such as InnoDB, because then it dumps the
consistent state of the database at the time when BEGIN was issued without blocking any applications.When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state.
For example, any MyISAM or MEMORY tables dumped while using this option may still change state.
Ayrıca tablolarınız çok çok büyük ise –single-transaction ile birlikte –quick parametresini de kullanabilirsiniz.
Öteyandan single-transaction ile ilgili dikkat edilmesi gereken bir nokta var; bu parametre ile alınan bir dump dosyasının düzgünlüğünden emin olmak için, dump esnasında, herhangi başka bir uygulamanın db üzerinde ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE ifadelerini kullanan herhangi bir işlem yapmaması gerekiyor. Bu nedenle kullanırken dikkatli davranmak yerinde olacaktır.
Konuyla ilgili tüm detaylar için aşağaki adresi ziyaret edebilirsiniz:
http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_single-transaction
Bu yazılar da ilginizi çekebilir:
- MySQL Database Schema Export
- MySQL: InnoDB Database Ebatının Küçültülmesi – Shrink ibdata1
- MySQL Repair MyISAM Table – BozulmuşTabloların Onarılması
- MySQL Full-Text Search Minimum Length Limitini Değiştirmek
- Mysql Replikasyon Yapılandırması
Yorumlar
Henuz yorum yapilmamis.
Yorumda bulunun.