نحوه Backup و Restore کردن در MySQL یا MariaDB
واردات و صادرات پایگاه داده یک کار رایج در توسعه نرم افزار است. میتوانید از dump دادهها برای پشتیبانگیری و بازیابی اطلاعات خود استفاده کنید. همچنین می توانید از آنها برای انتقال داده ها به یک سرور جدید یا محیط توسعه استفاده کنید. در این آموزش، شما با Dump های پایگاه داده در MySQL یا MariaDB کار خواهید کرد (دستورات قابل تعویض هستند). به طور خاص، شما یک پایگاه داده را صادر می کنید و سپس آن پایگاه داده را از فایل dump وارد می کنید.
پیشنیازها
- سرور لینوکس
- MySQL یا MariaDB
- یک دیتابیس از قبل ساخته شده
مرحله ۱ – استخراج یک پایگاه داده MySQL یا MariaDB
ابزار کنسولی mysqldump پایگاههای داده را به فایلهای متنی SQL صادر میکند. این کار انتقال و جابهجایی پایگاههای داده را آسانتر میکند. برای انجام این کار، به نام پایگاه داده و اطلاعات کاربری یک حساب نیاز دارید که حداقل دسترسی خواندن کامل (Read-Only) به پایگاه داده را داشته باشد.
برای استخراج پایگاه داده خود از mysqldump استفاده کنید:
mysqldump -u username -p database_name > data-dump.sql
توضیحات:
username
نام کاربری شما برای ورود به پایگاه داده است.database_name
نام پایگاه دادهای است که میخواهید صادر کنید.data-dump.sql
نام فایلی است که خروجی در آن ذخیره میشود و در دایرکتوری فعلی قرار دارد.
این دستور هیچ خروجی بصری نمایش نمیدهد، اما میتوانید محتوای فایل data-dump.sql را بررسی کنید تا مطمئن شوید که یک فایل SQL معتبر ایجاد شده است.
دستور زیر را اجرا کنید تا پنج خط اول فایل را مشاهده کنید:
head -n 5 data-dump.sql
ابتدای فایل باید چیزی شبیه به این باشد، که نشاندهنده یک خروجی MySQL dump برای پایگاه دادهای به نام database_name است:
نمونهای از خروجی SQL dump:
-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: database_name
-- ------------------------------------------------------
-- Server version 5.7.16-0ubuntu0.16.04.1
اگر در حین فرآیند استخراج، خطایی رخ دهد، mysqldump آن را روی صفحه نمایش چاپ خواهد کرد.
مرحله ۲ – وارد کردن یک پایگاه داده MySQL یا MariaDB
برای وارد کردن یک فایل dump موجود به MySQL یا MariaDB، ابتدا باید یک پایگاه داده جدید ایجاد کنید. این پایگاه داده جدید دادههای واردشده را نگهداری خواهد کرد.
ابتدا، با استفاده از حساب کاربری root یا یک کاربر دیگر که دسترسی کافی برای ایجاد پایگاه دادههای جدید دارد، وارد MySQL شوید:
mysql -u root -p
این دستور شما را به محیط شل MySQL هدایت میکند. سپس، با استفاده از دستور زیر یک پایگاه داده جدید ایجاد کنید. در این مثال، نام پایگاه داده جدید new_database است:
CREATE DATABASE new_database;
پس از اجرای دستور بالا، خروجی تأیید ایجاد پایگاه داده را مشاهده خواهید کرد:
Query OK, 1 row affected (0.00 sec)
پس از ایجاد پایگاه داده، با فشردن CTRL+D از محیط شل MySQL خارج شوید. سپس از طریق خط فرمان سیستمعامل، فایل dump را با دستور زیر وارد کنید:
mysql -u username -p new_database < data-dump.sql
username
نام کاربری شما برای ورود به پایگاه داده است.new_database
نام پایگاه دادهای است که تازه ایجاد کردهاید.data-dump.sql
نام فایل dump حاوی دادههایی است که باید وارد پایگاه داده شوند و در دایرکتوری فعلی قرار دارد.
اگر این دستور با موفقیت اجرا شود، هیچ خروجیای تولید نمیکند. اما اگر در حین وارد کردن دادهها خطایی رخ دهد، mysql پیامهای خطا را در ترمینال نمایش خواهد داد.
بررسی صحت ورود دادهها
برای اطمینان از اینکه دادهها بهدرستی وارد شدهاند، مجدداً وارد محیط MySQL شوید و دادهها را بررسی کنید. ابتدا پایگاه داده جدید را انتخاب کنید:
USE new_database;
سپس برای نمایش جداول پایگاه داده از دستور زیر استفاده کنید:
SHOW TABLES;
یا از دستورات دیگر برای بررسی دادههای واردشده استفاده کنید.
نتیجهگیری
در این آموزش، یک دیتابیس dump از یک پایگاه داده MySQL یا MariaDB ایجاد کردید و سپس آن را در یک پایگاه داده جدید وارد کردید. ابزار mysqldump دارای تنظیمات اضافی است که میتوانید از آنها برای تغییر نحوه ایجاد خروجیهای dump استفاده کنید. برای اطلاعات بیشتر، میتوانید به مستندات رسمی mysqldump مراجعه کنید.
برای یادگیری بیشتر درباره MySQL، میتوانید از صفحه منابع MySQL استفاده کنید.
منبع Digitalocean