راهکارها
بازارچه ابری
Arvan Docs

مستندات فنی

دسترسی به تمامی مستندات محصولات ابر آروان

Categories
Close
دسته‌بندی‌های سایت مشاهده دسته‌بندی‌ها بستن دسته‌بندی‌ها





مشاهده همه دسته‌ها All Categories

بازیابی پایگاه داده MariaDB برای ReportServer Enterprise

Time To Read ۲ دقیقه
Date ۲۸ امرداد ۱۴۰۰

نکته: ما در حال تغییر ساختار فایل و پیکربندی بسیاری از استک‌های بیتنامی هستیم. در نتیجه‌ی این تغییرات، مسیر فایل‌هایی که در این آموزش به آن‌ها اشاره شده ممکن است تغییر کند که این موضوع هم به این بستگی دارد که استک بیتنامی شما از پکیج‌های سیستمی نیتیو لینوکس استفاده می‌کند (رویکرد A) یا نسخه‌ای self-contained است (رویکرد B). برای تشخیص نوع اپلیکیشن‌تان و انتخاب رویکرد متناسب، دستور زیر را اجرا کنید:

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

خروجی این دستور نشان می‌دهد که بیتنامی شما از کدام رویکرد (A یا B) استفاده می‌کند و به شما کمک می‌کند که در این راهنما مسیر، پیکربندی و دستورات متناسب با آن را انتخاب کنید. برای اطلاعات بیشتر راجع به این تغییرات، به بخش سوالات رایج مراجعه کنید.

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

  • برای آن دسته از اپلیکیشن‌های بیتنامی که از رویکرد A استفاده می‌کنند (از پکیج‌های سیستمی لینوکس استفاده می‌کنند):

sudo tail -n 100 /opt/bitnami/mariadb/logs/mysqld.log

  • برای آن دسته از اپلیکیشن‌های بیتنامی که از رویکرد B استفاده می‌کنند (self-contained هستند):

sudo tail -n 100 /opt/bitnami/mariadb/data/mysqld.log

در این آموزش فرض می‌کنیم که خطای زیر در فایل لاگ درج شده است:

110108 10:37:45 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'user' is marked as crashed

برای رفع این خطا، گام‌های زیر را پیشنهاد می‌کنیم:

  • پایگاه داده‌ی MariaDB به صورت پیش‌فرض برای استفاده از موتور InnoDB پیکربندی شده است. شما می‌توانید برای تعمیر پایگاه داده گزینه‌ی innodb_force_recovery=1 را به فایل پیکربندی اصلی MariaDB که در مسیر /opt/bitnami/mariadb/my.cnf قرار دارد اضافه کنید:

[mysqld]
innodb_force_recovery = 1

  • با فرمان زیر پایگاه داده‌ی MariaDB را فعال کنید:

mysqld --skip-grant-tables --user=mysql --skip-external-locking --port=3306 --sock=/opt/bitnami/mariadb/tmp/mysql.sock

  • یک کنسول جدید باز کنید و سعی کنید به پایگاه داده وارد شوید:

mysql -u root -p

  • در مثال ما، خطای ذکر شده مربوط به جدول mysql.user است. فرمان‌های زیر را اجرا کنید:

MariaDB> use mysql;
MariaDB> repair table user;
MariaDB> check table user;
MariaDB> exit;

اگر جدول با موفقیت بازیابی شود، در جدول وضعیت mysql.user کلمه‌ی OK را مشاهده خواهید کرد. فراموش نکنید که پس از بازیابی گزینه‌ی innodb_force_recovery را از فایل my.cnf حذف کرده و سرور MariaDB را دوباره راه‌اندازی کنید.

sudo /opt/bitnami/ctlscript.sh restart mariadb

اگر با خطای متفاوتی مواجه شدید که قادر به رفع آن نبودید، می‌توانید با مراجعه به http://community.bitnami.com از راهنمایی‌های بیشتر استفاده کنید.