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

مستندات فنی

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

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





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

بازیابی یک پایگاه داده MySQL در LAMP

Time To Read < ۱ دقیقه
Date ۲۱ بهمن ۱۳۹۸

پیش از تلاش برای بازیابی یک پایگاه داده‌ی MySQL، باید در فایل لاگ MySQL که در مسیر /opt/bitnami/mysql/data/mysqld.log قرار دارد، خطای مورد نظر را به دقت بررسی کنید. با دستور زیر، آخرین ورودی‌های فایل لاگ MySQL را بررسی کنید:

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

برای نمونه فرض کنید که خطای زیر در فایل لاگ ثبت شده باشد:

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

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

  • پایگاه داده‌ی MySQL به‌شکل پیش‌فرض برای استفاده از موتور InnoDB پیکربندی شده است. با اضافه کردن innodb_force_recovery=1 به فایل پیکربندی اصلی MySQL که می‌توانید آن را در مسیر /opt/bitnami/mysql/etc/my.cnf بیابید، سعی کنید مشکل پایگاه داده را برطرف کنید:
[mysqld] innodb_force_recovery = 1

  • با دستور زیر پایگاه داده را فعال کنید:
mysqld --skip-grant-tables --user=mysql --pid-file=/opt/bitnami/mysql/data/mysqld.pid --skip-external-locking --port=3306 --sock=/opt/bitnami/mysql/tmp/mysql.sock

  • یک صفحه‌ی فرمان جدید باز کرده و سعی کنید به پایگاه داده لاگین کنید:
mysql -u root -p
  • در این مثال خطا به جدول mysql.user مربوط است. این دستورات را وارد کنید:
mysql> use mysql; mysql> repair table user; mysql> check table user; mysql> exit;

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

sudo /opt/bitnami/ctlscript.sh restart mysql

اگر با خطای دیگری روبه‌رو شدید و نتوانستید آن را برطرف کنید، می‌توانید با ثبت تیکت با پشتیبانی برای رفع آن در تماس باشید.