پشتیبان گیری و بازگرداندن پایگاه داده های MySQL (نسخه ویندوز)
محیط عملیاتی
- Mysql
-
- خروجی زیر 8.0 جامعه نسخه
- ویندوز
-
- ویندوز 11
پیش نیازها
- Mysql
-
- خروجی زیر 8.0
- ویندوز
-
- ویندوز 11
- ویندوز 10
- ویندوز سرور
-
- ویندوز سرور 2022
- ویندوز سرور 2019
- ویندوز سرور 2016
- ویندوز سرور 2012 R2
پیششرط
- یک پایگاه داده برای MySQL نصب شده است.
- پایگاه داده ای که باید پشتیبان گیری شود از قبل وجود دارد.
- شما متغیرهای محیطی را تنظیم کرده اید تا بتوانید mysql را از خط فرمان اجرا کنید.
انواع پشتیبان گیری چیست؟
اگر چه در اینجا به طور مفصل مورد بحث قرار نگرفته است، MySQL دارای انواع پشتیبان گیری زیر است:
دستوراتپشتیبان | گیری انواع داده های پشتیبانگیریRemarks | |
---|---|---|
فارسی | پشتیبان گیری منطقی | یک روش پشتیبان قدیمی. GUI نیز از این استفاده می کند. |
فارسی | پشتیبان گیری منطقی | نسخه بهبود یافته mysqldump |
خروجی زیر شل نمونه تخلیه سودمند و تخلیه بارگیری سودمند | پشتیبان گیری منطقی | جدیدترین پشتیبان گیری منطقی در حال حاضر |
پرکونا فوق العاده | پشتیبان گیری فیزیکی | پشتیبانی شخص ثالث برای پشتیبان گیری فیزیکی |
افزونه CLONE | پشتیبان گیری فیزیکی | پشتیبان گیری فیزیکی رسمی MySQL. با این حال، شما باید یک پلاگین اضافه کنید. |
پشتیبان گیری از پایگاه داده ها با GUI (MySQL Workbench)
اگر می خواهید بدون استفاده از دستورات در GUI ایمن عمل کنید، می توانید با MySQL Workbench پشتیبان گیری کنید. نوع پشتیبان گیری انجام شده توسط MySQL Workbench "mysqldump" خواهد بود.
شروع MySQL Workbench.
اتصالی که حاوی پایگاه داده ای است که می خواهید پشتیبان گیری کنید را انتخاب کنید.
با پشتیبان گیری از پایگاه داده، زبانه مدیریت را از ناوبر در سمت چپ انتخاب کنید و سپس صادرات داده را انتخاب کنید.
صفحه Data Export باز می شود. صفحه نمایش نسبتا گسترده است، بنابراین پنجره را گسترش دهید تا بتوانید دکمه "شروع صادرات" را در پایین سمت راست ببینید.
ابتدا پایگاه داده هایی را که می خواهید پشتیبان گیری کنید انتخاب کنید. شما همچنین می توانید بیش از یک انتخاب کنید.
در "اشیاء به صادرات"، شما می توانید انتخاب کنید به پشتیبان گیری از روش ها و محرک ها نیز هست. این فیلد اختیاری است.
در "گزینه های صادرات"، می توانید دو گزینه زیر را انتخاب کنید.
تایپ کنید | شرح |
---|---|
صادرات به پوشه پروژه تخلیه | خروجی به یک پوشه مشخص شده به عنوان یک جدول یا پرونده رویه. |
صادرات به پروندهای خود شامل | همه چیز را در یک فایل و خروجی قرار می دهد. |
مهم نیست که شما از چه راهی تولید می کنید. انتخاب فوق اسان است برای حذف اگر شما می خواهید برای بازگرداندن تنها یک جدول خاص. انتخاب زیر خروجی به یک فایل واحد، و ان را اسان تر برای حرکت و مدیریت فایل ها به عنوان یک واحد پایگاه داده. در این مورد، من موارد زیر را انتخاب کرده ام.
پس از تنظیم تنظیمات، روی دکمه "شروع صادرات" در گوشه پایین سمت راست کلیک کنید تا صادرات را شروع کنید.
صادرات شروع و تکمیل می شود.
اگر شما ان را به عنوان یک فایل واحد خروجی، ان را مانند این نگاه:
اگر به یک پوشه صادر کنید، شبیه این خواهد بود:
بازگرداندن پایگاه داده با GUI (MySQL Workbench)
MySQL Workbench را باز کنید، یک اتصال را انتخاب کنید، زبانه مدیریت را از Navigator در سمت چپ انتخاب کنید و Data Import / Restore را انتخاب کنید. همانطور که می گوید "واردات / بازگرداندن"، شما می توانید یک پایگاه داده جدید از فایل صادر شده ایجاد کنید یا پایگاه داده اصلی را بازنویسی کنید.
پنجره را باز کنید تا دکمه "Start Import" را در گوشه پایین سمت راست مشاهده کنید.
گزینه "Import Options" را با توجه به فرمت فایل صادر شده انتخاب کنید. از انجا که من این بار به عنوان یک فایل صادر کردم، "واردات از فایل خود شامل" را در زیر انتخاب کردم و فایل صادر شده را مشخص کردم.
شما را انتخاب کنید (پایگاه داده) که شما می خواهید برای بازگرداندن. شما می توانید به یک پایگاه داده موجود و یا بازگرداندن ان را به عنوان یک پایگاه داده جدید از دکمه "جدید" در سمت راست.
پس از مشخص کردن مشخصات، روی دکمه "Start Import" در پایین سمت راست کلیک کنید تا بازسازی را شروع کنید.
هنگامی که بازسازی کامل شد، مطمئن شوید که داده های شما بازگشته است.
ایجاد یک حساب برای پشتیبان گیری پایگاه داده توسط فرمان
هیچ مشکلی وجود ندارد اگر شما یک دستور واحد را اجرا کنید و از ان پشتیبان گیری کنید، اما به عنوان مثال، اگر فرمان را به عنوان یک فایل از قبل اماده کنید و ان را اجرا کنید، باید رمز عبور را در متن ساده بنویسید، بنابراین ایجاد یک حساب جداگانه برای اجرای پشتیبان امن تر است.
برخی از مجوزهای مورد نیاز برای پشتیبان گیری ممکن است بسته به اطلاعات مورد نیاز افزایش یا کاهش یابد.
- رویداد
- جداول قفل
- انتخاب
- نمایش نما
اگر ان را با یک فرمان ایجاد کنید، شبیه این خواهد بود. از ابزار خط فرمان 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" که برای مدت طولانی استفاده شده و پایدار است، پشتیبان گیری می کنیم.
برای راه اندازی Terminal (Command Prompt) روی منوی Start کلیک راست کنید. توجه داشته باشید که این "MySQL 8.0 Command Line Client" نیست.
شما می توانید ان را با دستور زیر پشتیبان گیری کنید:
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
اگر همان کد کاراکتر را هنگام پشتیبان گیری در GUI مشخص کنید، همانند هنگام پشتیبان گیری در GUI خواهد بود. به این ترتیب می توانید ان را در GUI وارد کنید.- فضای بین فیلد رمز عبور و
-p
رمز عبور را شامل نمی شود.- اگر همچنین می خواهید اطلاعات tablespace را خروجی دهید،
--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 ذخیره می شود. محل و نام فایل فایل دسته ای خودسرانه است.
با Task Scheduler ثبت نام کنید. روی منوی Start راست کلیک کرده و Computer Management را انتخاب کنید.
از منوی سمت چپ، مدیریت کامپیوتر > ابزارهای سیستم > برنامه ریز وظیفه > کتابخانه برنامه ریز وظیفه را انتخاب کنید. گزینه "Create Task..." را از منوی سمت راست انتخاب کنید.
تب عمومی را پیکربندی کنید. "نام" در لیست وظایف ظاهر می شود، بنابراین نامی را وارد کنید که درک ان اسان است. در گزینه های امنیتی، "Run regardless of whether the user is logged on or not" را بررسی کنید.
در زبانه "Trigger"، می توانید تنظیم کنید که چه زمانی پشتیبان گیری را انجام دهید. این تنظیم را با توجه به عملیات خود تنظیم کنید.
در زبانه "عملیات"، ان را برای راه اندازی فایل دسته ای که ایجاد کرده اید تنظیم کنید.
پس از تنظیم هر یک، با دکمه OK تایید کنید.
رمز عبور خود را برای ثبت نام وارد کنید تا تحت حساب مشخص شده اجرا شود.
پس از ان، بررسی کنید که ایا پشتیبان گیری در زمان مشخص شده اجرا می شود.