رفتن به مطلب

repair نشدن تبل های دیتابیس


ssll

پست های پیشنهاد شده

وقتی تیبل های دیتابیس رو انتخاب میکنم و repair میزنم این پیغام می یاد The storage engine for the table doesn't support r...

منظورش چیه که پشتیبانی نمیشه

من یه سایت دیگه از همین سرویس دهنده دارم وقتی repair میزنم پیغام ok میده

لینک به ارسال

در phpmyadmin یکی از جداول رو انتخاب کنید

سپس به سربرگ Operation بروید

مقدار Storage Engine ببینید برابر چه مقداری هست

و مقایسه

لینک به ارسال

در phpmyadmin یکی از جداول رو انتخاب کنید

سپس به سربرگ Operation بروید

مقدار Storage Engine ببینید برابر چه مقداری هست

و مقایسه

اون هاستی که repair ok می داد مقدار Storage Engine برابر با MYISAM هست اون هاستی کهOK نمیداد مقدار Storage Engine برابر با innoDB هست

حالا باید چیکار کنم؟

بعدش میخوام بدونم این مقدار ها چه تفاوتی دارن؟

ویرایش شده توسط ssll
لینک به ارسال

تمام جداول رو بررسی کنید

مقدار AUTO_INCREMENT هم مربوط به این موضوع نمیشه

لینک به ارسال

اون هاستی که repair ok می داد مقدار Storage Engine برابر با MYISAM هست اون هاستی کهOK نمیداد مقدار Storage Engine برابر با innoDB هست

حالا باید چیکار کنم؟

بعدش میخوام بدونم این مقدار ها چه تفاوتی دارن؟

لینک به ارسال
  • 2 هفته بعد...

چون توضیحات انگلیسی بود متوجه نشدم . بعضی از تبل ها مقدار Storage Engine برابر با MYISAM هست بعضها هم مقدار Storage Engine برابر با innoDB هستش . آیا مقدار همه تبل ها رو یکی کنم؟ اگه باید یکی باشن کدوم مقدار بهتره؟

لینک به ارسال

در نسخه های زیر 5.1 موتور پیشفرض myisam بود ولی از 5.1 به بعد موتور پیشفرض inodb شد

innodb خودش قابلیت auto repair داره ولی در شرایطی که این قابلیت خودکار اجرا نشه شما 2 کار میتونین انجام بدین

اول سرویس mysql رو متوقف میکنید و از پوشه Data در آدرس زیر C:\xampp\mysql\data به عنوان یک نسخه پشتیبان کپی میگیرید حالا فایل my.conf را باز کرده و خط زیر را به آن اضافه میکنیم

[mysqld] innodb_force_recovery = 4

میتوانید از مقدار 5 , 6 هم استفاده کنید.حالا سرویس mysql را استارت کنید حالا با استفاده از خط فرمان mysql با استفاده از دستور زیر همه بانکها را dump کنید

mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` -A > /root/dumpall.sql

اگر با خطای

Incorrect information in file: './psa/APSApplicationItems.frm' when using LOCK TABLES"`

مواجه شدید عدد

innodb_force_recovery را افزایش دهید

اگر باز هم با خطا مواجه شدید

به صورت زیر عمل کنید

دستی با کوئری زیر از اون جدول یا جداولتون پشتیبان بگیرید

create table <new table> like <old table>;
insert <new table> select * from <old table>;
truncate table <old table>;
insert <old table> select * from <new table>;

یا به صورت زیر عمل کنید

سرور را متوقف کنید و خط فرمان mysql را باز کنید

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

~# /etc/init.d/mysqld stop
~# mkdir /root/mysql_backup
~# cp -r /var/lib/mysql/* /root/mysql_backup/

فایل my.conf را باز نموده و کد زیر را در ان قرار دهید

~#/etc/my.cnf
[mysqld]
innodb_force_recovery = 1

حالا جداول را کپی کنید و جداول قدیمی را جایگزین کنید

CREATE TABLE <new_table> LIKE <crashed_table>;
INSERT INTO <new_table> SELECT * FROM <crashed_table>;
DROP TABLE <crashed_table>;
RENAME TABLE <new_table> TO <crashed_table>;

منبع

http://kb.parallels.com/en/6586

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...