mysqldump
mysqldump یک فایل SQL از ساختار و دادهٔ دیتابیس میسازد که با دستور mysql دوباره اجرا میشود. برای جدولهای InnoDB همیشه از --single-transaction استفاده کنید تا بکاپ بدون قفل و سازگار گرفته شود.
ساختار دستور
mysqldump [options] db_name [tables] > backup.sqlنمونههای کاربردی
mysqldump -u root -p appdb > appdb.sqlبکاپ ساده از یک دیتابیس
mysqldump -u root -p --single-transaction --routines --triggers --events appdb > appdb.sqlبکاپ کامل و سازگار از جدولهای InnoDB بدون قفل کردن
mysqldump -u root -p --all-databases --single-transaction > all.sqlبکاپ از همهٔ دیتابیسهای سرور
mysqldump -u root -p appdb users orders > two_tables.sqlبکاپ فقط از چند جدول
mysqldump -u root -p --no-data appdb > schema.sqlفقط ساختار جدولها، بدون داده
mysqldump -u root -p appdb | gzip > appdb_$(date +%F).sql.gzبکاپ فشرده با تاریخ در نام فایل
mysqldump -u root -p --databases appdb blog > two_dbs.sqlچند دیتابیس با دستور CREATE DATABASE در فایل
آپشنهای مهم
--single-transaction- بکاپ یکپارچه برای InnoDB بدون قفل جدولها
--routines- شامل stored procedure و function
--triggers- شامل trigger ها (بهصورت پیشفرض روشن است)
--events- شامل event scheduler
--all-databases- همهٔ دیتابیسها
--databases- چند دیتابیس همراه با دستور ساخت آنها
--no-data- فقط ساختار
--no-create-info- فقط داده
--where- فیلتر سطرها، مثلاً --where="id>1000"
--quick- خواندن سطر به سطر برای جدولهای بزرگ
--set-gtid-purged=OFF- حذف اطلاعات GTID برای ریستور روی سرور دیگر