پشتیبان گیری داغ با Percona XtraBackup در برنامه وردپرس با یک کلیک

فهرست مطالب

  • معرفی
  • پیش نیازها
  • مرحله 1: کاربر سیستم غیر ریشه ایجاد کنید
  • مرحله 2: موتور ذخیره سازی را بررسی کنید
  • مرحله سوم: برای تهیه نسخه پشتیبان از کاربر پایگاه داده ایجاد کنید
  • مرحله 4: نصب Percona XtraBackup
  • مرحله 5: دایرکتوری های ذخیره سازی پشتیبان ایجاد کنید
  • مرحله ششم: اولین نسخه پشتیبان تهیه کنید
  • مرحله 7: پشتیبان گیری افزایشی زیر را ایجاد کنید
  • مرحله 8: برای بازیابی بانک اطلاعاتی ، فایل های پشتیبان تهیه کنید
  • مرحله 9: بازیابی بانک اطلاعاتی
  • مراحل بعدی

معرفی

Percona XtraBackup یک برنامه مبتنی بر MySQL است که برای تهیه نسخه پشتیبان تهیه می شود. همچنین دارای منبع باز است. با استفاده از Percona XtraBackup ، می توانید بدون اینکه سرویس بانک اطلاعاتی خود را متوقف کنید یا آن را فقط خواندنی کنید ، از نسخه های پشتیبان داغ از اجرای MySQL ، MariaDB یا Percona Server استفاده کنید. این ویژگی مهم تجارت برای بسیاری از مشاغل آنلاین است.

برای بانکهای داده با استفاده از موتورهای ذخیره سازی InnoDB ، XtraDB و HailDB ، Percona XtraBackup می تواند از پشتیبان گیری های غیر مسدودکننده استفاده کند. برای پایگاه داده های با استفاده از موتورهای ذخیره سازی MyISAM ، Merge و Archive ، Percona XtraBackup همچنین می تواند با پایان مکمل نوشتن در پایان مراحل پشتیبان گیری ، نسخه پشتیبان تهیه کند.

در این مقاله نحوه نصب و استفاده از Percona XtraBackup را برای انجام پشتیبان گیری داغ کامل و افزایشی روی یک سرور Vultr بر اساس برنامه وردپرس با یک کلیک به شما نشان می دهم. ما یک نسخه ی پشتیبان کامل و دو نسخه ی پشتیبان افزایشی را انجام خواهیم داد و سپس بانک اطلاعات را به ترتیب بر روی هر یک از سه نسخه پشتیبان تهیه می کنیم.

پیش نیازها

من فرض می کنم که شما یک نمونه سرور WordPress Vultr با یک کلیک را از ابتدا مستقر کرده اید و با استفاده از SSH وارد سیستم root شده اید.

مرحله 1: کاربر سیستم غیر ریشه ایجاد کنید

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

1) یک کاربر جدید ایجاد کنید. sysuserبا نام کاربری شخصی خود جایگزین کنید.

useradd sysuser

2) رمزعبور را برای کاربر جدید خود تنظیم کنید. sysuserبا نام کاربری شخصی خود جایگزین کنید.

passwd sysuser

3) مجوزهای ریشه ای را به کاربر جدید خود اعطا کنید.

visudo

بند زیر را پیدا کنید.

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

یک ردیف به طور مستقیم زیر این پاراگراف اضافه sysuserکنید و نام کاربری شخصی خود را جایگزین کنید.

sysuser     ALL=(ALL)     ALL

ذخیره نموده و خارج شوید.

:wq

4) به حساب کاربری جدید خود تغییر دهید.

logout

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

مرحله 2: موتور ذخیره سازی را بررسی کنید

به طور پیش فرض ، ورود به سیستم ریشه MySQL در VPS در ذخیره می شود /root/.my.cnf. رمز عبور را در ترمینال خود با دستور زیر نمایش دهید.

sudo cat /root/.my.cnf

برای ورود به کنسول MySQL از اعتبار نمایش داده شده روی صفحه استفاده کنید.

mysql -u root -p

در پوسته MySQL موارد زیر را اجرا کنید.

SHOW DATABASES;

تمام پایگاه های داده MySQL روی صفحه نمایش داده می شوند. دیتابیس نامگذاری شده مانند wp5273512پایگاه داده WordPress است که می خواهیم از آن نسخه پشتیبان تهیه کنیم. در دستور زیر ، wp5273512یک مورد خاص خود را جایگزین کنید:

USE wp5273512;

موتور ذخیره سازی برای هر جدول را بررسی کنید:

SHOW TABLE STATUS\G

متوجه می شوید که تمام جداول در پایگاه داده MySQL وردپرس شما از موتور ذخیره سازی InnoDB استفاده می کنند که برای انجام پشتیبان گیری داغ با Percona XtraBackup مناسب است.

برای سایر پایگاه های داده MySQL با استفاده از موتور ذخیره سازی MyISAM ، ما هنوز هم می توانیم آنها را با Percona XtraBackup پشتیبان تهیه کنیم و با مکث مختصر می نویسیم.

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

هنوز در پوسته MySQL از دستورات زیر استفاده کنید تا یک کاربر پایگاه داده اختصاصی برای تهیه نسخه پشتیبان تهیه کنید. به یاد داشته باشید که نام کاربری xbuserو رمزعبور را xbpasswdبا نام شخصی خود جایگزین کنید:

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

امتیازات اعطا شده در بالا برای عملکرد کامل Percona XtraBackup ضروری است. می توانید برخی از آنها را به دلیل عملکرد کمتر و امنیت بهتر حذف کنید. برای اطلاعات بیشتر ، به وب سایت رسمی Percona XtraBackup مراجعه کنید .

مرحله 4: نصب Percona XtraBackup

شما می توانید Percona XtraBackup را از مخازن RPM Percona به راحتی نصب کنید:

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

مرحله 5: دایرکتوری های ذخیره سازی پشتیبان ایجاد کنید

ابتدا باید کاربر را sysuserبه mysqlگروه اضافه کنید . sysuserبا نام کاربری شخصی خود جایگزین کنید.

sudo gpasswd -a sysuser mysql

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

sudo mkdir -p /dbbackup/full/

دایرکتوری دیگری را برای ذخیره کردن نسخه پشتیبان تهیه کنید.

sudo mkdir -p /dbbackup/inc/

صاحب این دایرکتوری ها را به کاربر sysuserو گروه تغییر دهید sysuser.

sudo chown -R sysuser:sysuser /dbbackup

برای اجرای این تغییرات ، از سیستم خارج شوید.

logout

سپس sysuserدوباره وارد سیستم شوید .

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

XtraBackup در درجه اول از برنامه XtraBackup و innobackupexاسکریپت perl تشکیل شده است. معمولاً innobackupexبرای راحتی کار می توانید از اسکریپت perl برای انجام مراحل مختلف عملیاتی استفاده کنید.

برای ایجاد اولین نسخه پشتیبان کامل ، دستور زیر را وارد کنید. به یاد داشته باشید که نام کاربری پایگاه داده xbuser، گذرواژه کاربر پایگاه داده xbpasswdو دایرکتوری پشتیبان کامل /dbbackup/full/را با موارد شخصی خود جایگزین کنید.

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

با اجرای این فرمان صحیح ، پیام تأیید "innobackupex: заврши OK!" را مشاهده خواهید کرد. در آخرین خط خروجی.

تمام پرونده های تازه ایجاد شده از این نسخه پشتیبان کامل در یک پوشه با تمبر زمان در زیر ذخیره می شوند /dbbackup/full/. به عنوان مثال، /dbbackup/full/2015-05-22_05-45-54.

مرحله 7: پشتیبان گیری افزایشی زیر را ایجاد کنید

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

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

باز هم ، شما خواهید دید "innobackupex: OK OK!" در پایان خروجی وقتی که فرمان با موفقیت اجرا می شود. فایل های پشتیبان در یک پوشه با تمبر زمان در زیر ذخیره می شوند /dbbackup/inc/.

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

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

پس از موفقیت ، "innobackupex: Complete OK" را خواهید دید. دوباره پیام /dbbackup/inc/پوشه را دوباره بررسی کنید تا پرونده های پشتیبان را ببینید.

مرحله 8: برای بازیابی بانک اطلاعاتی ، فایل های پشتیبان تهیه کنید

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

توجه : قبل از انجام مراحل آماده سازی و بازیابی ، بهتر است یک کپی از کل دایرکتوری پشتیبان (مانند /dbbackup/) را در مکان دیگری نگه دارید تا در صورت بروز هر گونه آسیب در تهیه نسخه پشتیبان از پرونده ها به اشتباه انجام شود.

در هر فهرست پشتیبان ، فایلی به نام وجود دارد xtrabackup_checkpointsکه شامل نوع پشتیبان گیری و اعداد دنباله شروع و پایان ورود ( from_lsnو to_lsn) است. برای روشن شدن استراتژی بازیابی پایگاه داده خود می توانید از این شماره ها استفاده کنید. به مثالهای زیر نگاه کنید.

در xtrabackup_checkpointsپرونده اولین نسخه پشتیبان کامل ، من:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

در xtrabackup_checkpointsپرونده اولین نسخه پشتیبان تهیه شده ، من:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

در xtrabackup_checkpointsپرونده نسخه پشتیبان تهیه شده دوم:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

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

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

برای بازیابی بانک اطلاعاتی به وضعیت اولین نسخه پشتیبان کامل ، باید فایل های پشتیبان را با دستور زیر آماده کنید:

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

برای بازیابی بانک اطلاعاتی به وضعیت اولین نسخه پشتیبان افزایشی ، باید فایل های پشتیبان را با دستورات زیر آماده کنید:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

برای بازگرداندن بانک اطلاعاتی به حالت دوم تهیه نسخه پشتیبان اضافی ، باید فایل های پشتیبان را با دستورات زیر آماده کنید:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

یادداشت ها :

برای تهیه پشتیبان های افزایشی ، شما باید از همه --redo-onlyگزینه ، به جز آخرین نسخه پشتیبان افزایشی استفاده کنید. با این وجود ، استفاده از این گزینه در آخرین نسخه پشتیبان تهیه افزایشی ، همچنان به ضرر ثبات داده های شما بی ضرر است - این امر تنها به دلیل بازگرداندن پایگاه داده باعث تاخیر می شود.

آخرین دستور هر سناریوی افزایشی اختیاری است اما توصیه می شود ، زیرا باعث تسریع در بازیابی می شود.

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

مرحله 9: بازیابی بانک اطلاعاتی

قبل از بازیابی پایگاه داده خود ، باید سرویس پایگاه داده را متوقف کنید.

sudo service mysqld stop

همچنین باید دایرکتوری پایگاه داده را خالی کنید. برای احتیاط می توانید پرونده های پایگاه داده فعلی را به مکان دیگری منتقل کنید.

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

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

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

از آنجا که روش بازیابی ، صاحب فهرست دیتابیس را تغییر می دهد ، برای mysql:mysqlعملیاتی کردن آن باید آنرا دوباره تغییر دهید .

sudo chown -R mysql:mysql /var/lib/mysql

سرویس پایگاه داده را مجدداً راه اندازی کنید.

sudo service mysqld start

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



نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد