نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
Percona XtraBackup هو برنامج مجاني قائم على MySQL يستخدم لعمل نسخ احتياطية ساخنة. كما أنها مفتوحة المصدر. مع Percona XtraBackup ، يمكنك عمل نسخ احتياطية ساخنة لتشغيل قواعد بيانات MySQL أو MariaDB أو Percona Server دون إيقاف خدمة قاعدة البيانات أو جعلها للقراءة فقط. هذه ميزة مهمة للأعمال للعديد من الأعمال التجارية عبر الإنترنت.
بالنسبة لقواعد البيانات التي تستخدم محركات تخزين InnoDB و XtraDB و HailDB ، يمكن لـ Percona XtraBackup إجراء عمليات نسخ احتياطي غير قابلة للحظر. بالنسبة لقواعد البيانات التي تستخدم محركات التخزين MyISAM و Merge و Archive ، يمكن لـ Percona XtraBackup أيضًا إجراء عمليات النسخ الاحتياطي عن طريق الإيقاف المؤقت لفترة قصيرة لعمليات الكتابة في نهاية إجراء النسخ الاحتياطي.
في هذه المقالة ، سأوضح لك كيفية تثبيت واستخدام Percona XtraBackup لإجراء عمليات نسخ احتياطي كاملة ومتزايدة على خادم Vultr استنادًا إلى تطبيق WordPress بنقرة واحدة. سنقوم بعمل نسخة احتياطية كاملة واثنين من النسخ الاحتياطية الإضافية ، ثم نقوم باستعادة قاعدة البيانات إلى حالة كل من النسخ الاحتياطية الثلاثة وفقًا لذلك.
أفترض أنك قمت بنشر مثيل خادم WordPress Vultr بنقرة واحدة من البداية وقمت بتسجيل الدخول كجذر ، باستخدام SSH.
لأغراض أمنية ، من الممارسات الموصى بها إنشاء حساب مستخدم آخر بأذونات الجذر ، ثم استخدامه لتسجيل الدخول وتنفيذ العمليات اليومية على النظام. لا يزال بإمكانك تنفيذ كل أوامر المستخدم الخارق تقريبًا باستخدام 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
بعد ذلك ، استخدم بيانات اعتماد المستخدم الجديد لتسجيل الدخول من نافذة الوحدة الطرفية.
بشكل افتراضي ، يتم حفظ تسجيل الدخول الجذر 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
ستجد أن جميع الجداول في قاعدة بيانات WordPress 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 .
يمكنك تثبيت Percona XtraBackup من مستودع Percona RPM بسهولة تامة:
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
أولاً ، تحتاج إلى إضافة مستخدم 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
البرنامج النصي بيرل لأداء إجراءات التشغيل المختلفة للراحة.
أدخل الأمر التالي لإنشاء أول نسخة احتياطية كاملة. تذكر استبدال اسم xbuser
مستخدم قاعدة البيانات وكلمة مرور مستخدم قاعدة البيانات xbpasswd
ودليل النسخ الاحتياطي الكامل /dbbackup/full/
باسمك.
sudo innobackupex --user=xbuser --password=xbpasswd /dbbackup/full/
مع تنفيذ هذا الأمر بشكل صحيح ، سترى رسالة التأكيد "innobackupex: مكتمل موافق!" في السطر الأخير من الإخراج.
سيتم تخزين جميع الملفات التي تم إنشاؤها حديثًا لهذه النسخة الاحتياطية الكاملة في دليل مختوم بالوقت تحت /dbbackup/full/
. على سبيل المثال ، /dbbackup/full/2015-05-22_05-45-54
.
أدخل الأمر التالي لإنشاء النسخة الاحتياطية التزايدية الأولى. استبدل المتغيرات في الأمر وفقًا لذلك.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/
مرة أخرى ، سترى "innobackupex: مكتمل حسنًا!" في نهاية الإخراج عند تنفيذ الأمر بنجاح. سيتم تخزين ملفات النسخ الاحتياطي في دليل ختم الوقت تحت /dbbackup/inc/
.
أدخل الأمر التالي لإنشاء النسخة الاحتياطية التزايدية الثانية. استبدل المتغيرات في الأمر وفقًا لذلك.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/
عند النجاح ، سترى "innobackupex: مكتمل حسنًا!" الرسالة مرة أخرى. تحقق من /dbbackup/inc/
المجلد مرة أخرى لرؤية ملفات النسخ الاحتياطي.
يجب تحضير كافة ملفات النسخ الاحتياطي لقاعدة البيانات قبل استخدامها لاستعادة قاعدة البيانات.
ملاحظة : قبل تنفيذ إجراءات التحضير والاستعادة ، من الأفضل الاحتفاظ بنسخة من دليل النسخ الاحتياطي بالكامل (مثل /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
الخيار على جميع النسخ الاحتياطية الإضافية ما عدا آخر نسخ احتياطي. ومع ذلك ، فإن استخدام هذا الخيار في النسخة الاحتياطية التزايدية الأخيرة لا يزال غير ضار لاتساق البيانات الخاصة بك - سوف يتسبب فقط في بعض التأخير بسبب التراجع في قاعدة البيانات.
الأمر الأخير لكل سيناريو تزايدي اختياري ولكنه موصى به ، لأنه سيسرع عملية الاستعادة.
بعد الإعداد ، سيتم إلحاق التغييرات التي تم تسجيلها في ملفات النسخ الاحتياطي التزايدي بملفات النسخ الاحتياطي الكامل الأساسية المُعدة ، لذلك يجب عليك دائمًا استخدام ملفات النسخ الاحتياطي الكاملة المعدة لاستعادة قاعدة البيانات الخاصة بك ، بغض النظر عما إذا اخترت نسخة احتياطية كاملة أو نسخة احتياطية متزايدة.
قبل أن تتمكن من استعادة قاعدة البيانات الخاصة بك ، تحتاج إلى إيقاف خدمة قاعدة البيانات.
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
هذا هو. في هذه المرحلة ، يمكنك زيارة موقع WordPress الخاص بك للتحقق من نجاح عملية الاستعادة.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد