پشتیبان گیری و بازیابی پایگاه داده های MySQL برای ویندوز

تاریخ ایجاد صفحه :

محیط تایید عملیات

Mysql
  • MySQL 8.0 نسخه انجمن
ویندوز
  • ویندوز 11

محیط مورد نیاز

Mysql
  • MySQL 8.0
ویندوز
  • ویندوز 11
  • ویندوز 10
ویندوز سرور
  • ویندوز سرور 2022
  • ویندوز سرور 2019
  • ویندوز سرور 2016
  • ویندوز سرور 2012 R2

پیش شرط

  • پایگاه داده MySQL باید نصب شود
  • پایگاه داده ای که باید پشتیبان گیری شود از قبل وجود دارد
  • متغیرهای محیطی را پیکربندی کنید و به شما امکان می دهد MySQL را از خط فرمان اجرا کنید.

درباره انواع پشتیبان گیری

من در اینجا وارد جزئیات نمی شوم، اما MySQL انواع پشتیبان گیری زیر را دارد:

Backup Command Backup Backup اظهارات نوع داده
mysqldump پشتیبان گیری منطقی یک روش پشتیبان گیری قدیمی. رابط کاربری گرافیکی نیز از این استفاده می کند
MySQL پمپ پشتیبان گیری منطقی نسخه بهبود یافته mysqldump
MySQL Instance Shell Dump Utility و Dump Loading Utility پشتیبان گیری منطقی به عنوان یک پشتیبان منطقی، در حال حاضر جدیدترین است
Percona XtraBackup پشتیبان گیری فیزیکی محصولات شخص ثالث که امکان پشتیبان گیری فیزیکی را فراهم می کنند
پلاگین کلون پشتیبان گیری فیزیکی پشتیبان گیری فیزیکی رسمی MySQL. با این حال، پلاگین های اضافی مورد نیاز است

بک آپ گیری از پایگاه داده با رابط کاربری گرافیکی (MySQL Workbench)

اگر می خواهید بدون استفاده از دستورات به طور ایمن در رابط کاربری گرافیکی کار کنید، می توانید یک نسخه پشتیبان در MySQL Workbench انجام دهید. نوع پشتیبان گیری انجام شده در MySQL Workbench "mysqldump" است.

MySQL Workbench را راه اندازی کنید.

اتصال با پایگاه داده ای را که می خواهید پشتیبان گیری کنید انتخاب کنید.

در حالی که پایگاه داده باید پشتیبان گیری شود، تب Administration را از Navigator در سمت چپ انتخاب کنید و Data Export را انتخاب کنید.

صفحه صادرات داده باز می شود. صفحه نمایش بسیار بزرگ است، بنابراین پنجره را باز کنید تا دکمه "شروع صادرات" را در گوشه سمت راست پایین ببینید.

ابتدا پایگاه داده ای را که می خواهید پشتیبان گیری کنید انتخاب کنید. همچنین می توانید بیش از یک مورد را انتخاب کنید.

در "Objects to Export"، می توانید انتخاب کنید که آیا از رویه ها، محرک ها و غیره نیز نسخه پشتیبان تهیه کنید. این مورد اختیاری است.

در "گزینه های صادرات" می توانید از بین دو گزینه زیر انتخاب کنید:

شرح انواع
اکسپورت به پوشه پروژه Dump به عنوان یک جدول یا فایل رویه به روش در یک پوشه معین خروجی دهید.
اکسپورت به فایل مستقل همه چیز را در یک فایل جاسازی کنید و آن را خروجی دهید.

مهم نیست که کدام یک را خروجی می دهید. اگر در بالا انتخاب کنید، آسان است زیرا اگر می خواهید فقط یک جدول خاص را بازیابی کنید، می توانید به راحتی آن را حذف کنید. انتخاب های زیر به یک فایل واحد خروجی می شوند و انتقال و مدیریت فایل ها را به عنوان یک واحد پایگاه داده آسان تر می کنند. این بار موارد زیر را انتخاب کرده ام.

پس از پیکربندی، روی دکمه Start Export در پایین سمت راست کلیک کنید تا صادرات شروع شود.

صادرات شروع می شود و کامل می شود.

اگر در یک فایل واحد خروجی دهید، به این شکل خواهد بود:

اگر به پوشه ای صادر کنید، به این شکل خواهد بود:

بازیابی پایگاه داده با رابط کاربری گرافیکی (MySQL Workbench)

MySQL Workbench را باز کنید، اتصالات خود را انتخاب کنید، تب Administration را از Navigator در سمت چپ انتخاب کنید و Data Import/Restore را انتخاب کنید. همانطور که می گوید "Import/Restore"، می توانید یک پایگاه داده جدید از فایل صادر شده ایجاد کنید یا پایگاه داده اصلی را بازنویسی کنید.

پنجره را باز کنید تا دکمه "شروع واردات" را در گوشه سمت راست پایین ببینید.

لطفا "گزینه های واردات" را با توجه به فرمت فایل صادر شده انتخاب کنید. از آنجایی که این بار آن را به عنوان یک فایل واحد صادر کردم، "Import from Self-Contained File" را در زیر انتخاب کردم و فایل صادر شده را مشخص کردم.

طرحواره (پایگاه داده) را برای بازیابی انتخاب کنید. می توانید به یک پایگاه داده موجود بازیابی کنید، یا می توانید آن را به عنوان یک پایگاه داده جدید از دکمه "جدید" در سمت راست بازیابی کنید.

پس از مشخص کردن، روی دکمه "شروع واردات" در گوشه سمت راست پایین کلیک کنید تا بازیابی شروع شود.

مطمئن شوید که داده های شما پس از اتمام بازیابی بازگشته است.

ایجاد یک حساب کاربری برای پشتیبان گیری از پایگاه داده از طریق دستور

اگر می خواهید دستوری را برای پشتیبان گیری یک بار اجرا کنید، مشکلی وجود ندارد، اما به عنوان مثال، اگر دستوری را به صورت فایل از قبل آماده کرده اید و آن را اجرا می کنید، باید رمز عبور را به صورت متن ساده بنویسید، بنابراین ایجاد یک حساب جداگانه برای اجرای نسخه پشتیبان ایمن تر است.

مجوزهای مورد نیاز برای پشتیبان گیری به شرح زیر است، اما ممکن است بسته به اطلاعات مورد نیاز افزایش یا کاهش یابد.

  • رویداد
  • قفل کردن جداول
  • انتخاب
  • نمایش نمایش

اگر آن را با یک دستور ایجاد کنید، به این شکل خواهد بود: آن را با ابزار خط فرمان MySQL اجرا کنید.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

مثال

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

مجوزهای پوشه برای مقصد پشتیبان گیری

مجوزهای پوشه ای که فایل پشتیبان در آن ذخیره می شود باید به همان مجوز اجرای دستور تنظیم شود. اگر می خواهید دستوراتی را با مجوز مدیران اجرا کنید، نیازی به تنظیم مجوزهای اضافی برای پوشه ندارید.

بک آپ گیری از پایگاه داده با دستور (mysqldump)

چندین نسخه پشتیبان فرمان وجود دارد، اما این بار با "mysqldump" قدیمی و پایدار پشتیبان گیری می کنم.

روی منوی Start کلیک راست کرده و Terminal (Command Prompt) را اجرا کنید. لطفا توجه داشته باشید که این یک "سرویس گیرنده خط فرمان MySQL 8.0" نیست.

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

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

مثال

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 همان کد کاراکتر زمانی است که در رابط کاربری گرافیکی پشتیبان گیری می شود. این به شما امکان می دهد آنها را به رابط کاربری گرافیکی نیز وارد کنید.
  • بین فیلد -p رمز عبور و رمز عبور فاصله قرار ندهید.
  • اگر شما نیز می خواهید اطلاعات فضای جدول را خروجی دهید، --no-tablespaces لطفا تیک را بردارید. در این صورت، مجوزهای PROCESS کاربر اجرا مورد نیاز است.

یک فایل پشتیبان در مکان مشخص شده ایجاد می شود.

بازیابی پایگاه داده با دستور (mysqldump)

فایل های پشتیبان گیری شده با mysqldump در قالبی هستند که می توانند در SQL اجرا شوند، بنابراین شما فقط باید SQL مورد نظر را اجرا کنید. من فکر می کنم بازیابی اغلب به صورت دستی انجام می شود، بنابراین اشکالی ندارد که آن را روی حساب ریشه اجرا کنید.

اگر می خواهید آن را از یک دستور اجرا کنید، آن را به جای PowerShell در خط فرمان اجرا کنید. این به این دلیل است که < PowerShell اجازه نمادها را نمی دهد.

دستور زیر را اجرا کنید:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

مثال

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

پشتیبان گیری خودکار از پایگاه داده

برای ویندوز، استفاده از زمان بندی کار معمول است. با ایجاد یک فایل دسته ای شروع کنید. یک فایل خفاش ایجاد کنید، محتویات را همانطور که با دستورات پشتیبان گیری شده اند وارد کنید و آنها را ذخیره کنید. کدهای کاراکتر را با Shift-JIS ذخیره کنید. مکان و نام فایل فایل دسته ای می تواند دلخواه باشد.

با زمان بندی وظایف ثبت نام کنید. روی منوی Start کلیک راست کرده و "Manage Computer" را انتخاب کنید.

از منوی سمت چپ، Computer Management > System Tools > Task Scheduler > Task Scheduler Library را انتخاب کنید. ایجاد کار را از منوی سمت راست انتخاب کنید.

تب General را تنظیم کنید. "نام" در لیست وظایف نمایش داده می شود، بنابراین نامی را قرار دهید که به راحتی قابل درک باشد. در گزینه های امنیتی، "اجرا اینکه آیا کاربر وارد سیستم شده است یا خیر" را علامت بزنید.

تب Triggers زمان پشتیبان گیری را تنظیم می کند. این تنظیم باید با توجه به عملکرد شما تنظیم شود.

در تب Operations، فایل دسته ای را که به تازگی ایجاد کرده اید برای راه اندازی تنظیم کنید.

هنگامی که هر یک از آنها را تنظیم کردید، آنها را با دکمه OK تأیید کنید.

رمز عبور خود را برای ثبت نام برای اجرا در حساب مشخص شده وارد کنید.

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