ssll

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

8 پست در این موضوع قرار دارد

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

و مقایسه

2

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

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

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

و مقایسه

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

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

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

ویرایش شده در توسط ssll
0

به اشتراک گذاری این پست


لینک به پست

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

در نسخه های زیر 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

3

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری