گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

پشتیبان گیری (Backup) از پایگاه داده MySQL و MariaDB

نویسنده:
16 ژانویه 17

برنامه نویس هایی که با پشتوانه ویندوزی و استفاده از MSSQL به لینوکس و PHP و پایگاه داده محبوب این محیط یعنی MySQL مهاجرت میکنن یا میخوان توی پروژه ای ازش استفاده کنند در زمان انتقال پروژه به سیستم دیگه ، روی وب یا کلاً زمان پشتیبان گیری سعی میکنند مثل MSSQL که یک فایل Database و Log داره و با کپی گرفتن ازش همه چیز حله با MySQL برخورد کنند و با کپی گرفتن از پوشه MySQL و جداول مربوطه خودشون را خلاص میکنند.

اما وقتی زمان بارگزاری مجدد و Restore کردن پروژه میشه تازه متوجه میشن یا اطلاعاتی را کپی نگرفتند یا MySQL فایل‌های پشتیبان را تشخیص نمیده و حواسشون به اینکه MyISAM بوده یا InnoDB نداشتند و حسابی گیر میوفتن.

راستش من از اول وقتی متوجه شدم MySQL ابزاری به نام MySQLDump داره کلاً درگیر کپی کردن فایل‌ها نشدم. خیلی راحت میشه با دستور زیر جداول و کل روال ها و توابع ایجاد شده را تر و تمیز پشتیبان گرفت :

mysqldump -e -R -h [Remote host or 127.0.0.1 or localhost] -u [Your username] --password=[Your password] [Database name] > [Filename to save backup]

توی ویندوز اسمش mysqldump.exe میشه البته. (امیدوارم تا حالا مهاجرت کرده باشین به لینوکس!)

برای بارگزاری مجدد یا Restore هم از دستورخود mysql استفاده کنید (mysql.exe ویندوز):

mysql -h [Remote host or 127.0.0.1 or localhost] -u [Your username] --password=[Your password] --default-character-set=utf8 --database=[Database name] < [Filename to load backup data]

این روش مزایای زیادی داره از جمله اینکه میتونید از پایگاه داده‌های Remote هم پشتیبان بگیرین و Restore کنین یا با یک Cronjob به صورت هفتگی از پایگاه های داده محلی یا Remote (روی وب) پشتیبان بگیرین و …

2 پیام برای پشتیبان گیری (Backup) از پایگاه داده MySQL و MariaDB

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.