آموزش تهیه بکاپ از MySQL با استفاده از ابزار mysqldump

ایجاد شده توسط | آبان ۱, ۱۳۹۵

MySQL به عنوان پایگاه داده و اهمیت ان نیاز به نگهداری و تهیه بکاپ دارد. ابزار های رابط گرافیکی MySQL مانند phpmyadmin, SQLyog و … امکاناتی نظیر تهیه بکاپ را فراهم میسازند، هرچند اگر دیتابیس شما حجیم باشد این روند به دلیل جابجای بین شبکه از سرور به سیستم شخصی شما ممکن است با کندی انجام شود. در نتیجه این عمل میتواند میزان در دسترس بودن دیتابیس را کاهش دهد.

به همین دلیل MySQL یک ابزار کاربردی برای تهیه بکاپ یا dump گرفتن فراهم کرده است که بکاپ را بصورت Local روی سرور با سرعت بالا تهیه مینماید. بکاپ بصورت یک فایل در سرور ذخیره میشود و در نهایت میتوانید زمانی که نیاز به این فایل دارید ان را دانلود نماید. ابزار تهیه بکاپ ارائه شده توسط MySQL با نام mysqldump در شاخه root/bin قرار گرفته است. mysqldump ابزاری است که میتواند از دیتابیس بکاپ تهیه نمایید و یا دیتابیس را در سرور های پایگاه داده جا به جا نمایید.

wikiconfig-sqldump

فایل dump از دستورات MySQL جهت ایجاد object از دیتابیس تشکیل شده است. علاوه بر ایجاد فایل sql. این ابزار میتواند فایل CSV ویا XML را نیز تولید نمایید. در این آموزش ما به تهیه بکاپ دیتابیس توسط این ابزار متمرکز میشویم.

تهیه بکاپ از دیتابیس MySQL

جهت تهیه بکاپ در ابتدا پایگاه داده باید روی سرور وجود داشته باشد. با استفاده از SSH و Telnet میتوانید به سرور مورد نظر متصل شوید اگر دسترسی شما به سرور بصورت Remote Desktop نمیباشد. فرم دستوری که باید در ترمینال وارد شود بطور کلی بصورت زیر است.

پارامتر های استفاده شده در این دستور به اختصار بصورت زیر میباشد:

  • username : یک نام کاربری معتبر MySQL
  • password : پسوورد معتبر برای نام کاربری وارد شده. توجه داشته باشید پسوورد باید بدون فاصله از سوئچ p- نوشته شود.
  • database_name : نام پایگاه داده ای است که میخواهید از ان بکاپ تهیه نمایید.
  • dump_file.sql : نام فایل بکاپ دیتابیسی است که ایجاد خواهد شد که میتواند نام دلخواه باشد.

با اجرای دستور بالا تمامی اطلاعات و ساختمان دیتابیس در یک فایل dump_file.sql قرار داده خواهد شد. بطور مثال جهت تهیه بکاپ از دیتابیس wikiconfig میتوانیم از دستور زیر استفاده نماییم:

توجه داشته باشید ممکن است دیتابیس شما پسوورد نداشته باشد که در این صورت میتوانید در جای پسوورد چیزی وارد نکنید.

نحوه تهیه بکاپ از ساختار [Structure] دیتابیس (بدون دیتا)

اگر نیاز داشته باشید تا تنها از ساختار دیتابیس بکاپ تهیه نمایید کافیست نا در دستور بکاپ از پارامتر no-data- استفاده نمایید.  این پارامتر به mysqldump اعلام میکند که تنها از ساختار دیتابیس بکاپ تهیه نمایید.

مثال :

بکاپ گرفتن از اطلاعات [data] دیتابیس بدون ساختار [strucure]

ممکن است در شرایطی مانند تازه سازی اطلاعات نیاز باشد که فقط از اطلاعات بکاپ تهیه نمایید، در این شرایط نیاز تا اطلاعات را از دیتابیس خارج ساخته در سیستم مبدا وارد نمایید. برای تهیه بکاپ به این صورت باید از پارامتر no-create-info- استفاده نمایید. دستور کلی این عملیات بصورت زیر میباشد.

مثال :

تهیه بکاپ از چند دیتابیس MySQL و ذخیره ان در یک فایل

زمانی که بخواهید از چند دیتابیس بطور همزمان بکاپ تهیه نمایید کافیست نام دیتابیس ها را علامت “,” جدا نمایید. در صورتی مه مایلید از همه دیتابیس ها بکاپ تهیه نمایید میتوانید با استفاده از پارامتر all-database- از همه دیتابیس های موجود بکاپ تهیه نمایید. دو دستور ذکر شده بصور کلی بصورت زیر خواهد بود:


  • اگر میخواید یک بکاپ کامل داشته باشید از اولین روش جهت تهیه بکاپ کامل یک دیتابیس استفاده نمایید.
  • توجه داشته باشید میتوانید هنگام ایجاد فایل بکاپ ان را با دستور زیر به حالت فشرده نیز تبدیل نمایید :

  • میتوانید از این ابزار در یک بش اسکریپت استفاده کرده و فرایند تهیه بکاپ را کاملا اتوماتیک و بطور دلخواه انجام دهید.

منبع “WikiConfig
موفق و پیروز باشید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *