Проверка и поправяне на Mysql бази данни в cPanel

Помощен център

Проверка и поправяне на Mysql бази данни в cPanel

Ако срещате проблеми с база данни в следващия интерфейс Modify Databases може да проверете вашите бази данни за грешки.

Проверка на Mysql бази данни

За да проверите Mysql база данни за грешки, изпълнете следните стъпки:

В полето Check Database изберете базата данни, която искате да проверите и кликнете бутона Check Database:

mysql database maintenance

Ще се появи нов интерфейс и системата ще провери дали базата данни функционира правилно.

Ако системата открие проблем в базата данни, тя показва името на повредената таблица.

Ако се покаже съобщението Check Complete, базата данни функционира правилно.

mysql database maintenance

Кликнете линка Go Back за да се върнете в главния интерфейс.

Поправяне на Mysql бази данни

Ако една от вашите бази данни е повредена, можете да се опитате да я поправите.

За да поправите база данни, изпълнете следните стъпки:

В менюто Repair Database изберете базата данни, която искате да поправите:

mysql database maintenance

Кликнете бутона Repair Database. Ще се появи нов интерфейс и системата ще се опита да поправи автоматично базата данни.

Ако системата не може да поправя базата данни, тя ще се опита да определи източника на повредените данни:

mysql database maintenance

Ако се покаже съобщението Repair Complete, системата успешно поправя базата данни.

В случая обаче получаваме информация, че storage engine не поддържа функцията поправяне.

За какво става въпрос?

Storage engine е софтуерен модул, който системата за управление на базата данни използва за създаване, четене, актуализиране на данни.

Има два вида storage engines в MySQL: транзакционни и не-транзакционни. За MySQL 5.5 и по-нова версия, storage engine по подразбиране е InnoDB. При версиите на MySQL преди 5.5 storage engine по подразбиране беше MyISAM.

Нашата версия на MySQL Server version: 5.5.54 и получаваме тази бележка тъй като ползваме InnoDB storage engine.

Нека използваме phpMyAdmin и да конвертираме една от таблиците от InnoDB storage engine в MyISAM.

Отваряме cPanel > Databases > phpMyAdmin и кликаме линка с името на базата данни.

Кликаме бутона SQL, въвеждаме следния код и кликаме бутона Go:

ALTER TABLE xmpp_loc_posts ENGINE=MyISAM;

mysql database maintenance

Текстовото съобщение ни потвърждава, че кода е изпълнен коректно:

mysql database maintenance

Кликаме името на базата данни за да се уверим, че промяната е извършена успешно - таблицата *xmpplocposts ще ползва MyISAM storage engine*:

mysql database maintenance

Сега нека опитаме да поправим отново базата данни user_newDB в cPanel > Databases > MySQL Databases:

mysql database maintenance

MyISAM таблицата е проверена успешно за разлика от InnoDB таблиците. Разбира се, MySQL има механизми за проверка, анализ и оптимизиране на InnoDB таблиците, с които ще ви информираме в отделна статия.

Защо се повреждат MyISAM таблици?

Въпреки че таблиците в MyISAM формат са много надеждни, поради някоя от следните причини една или повече таблици може да бъдат повредени:

  • Процесът mysqld е прекратен (killed) по време на писане в таблицата.

  • Неочаквано изключване на компютъра или спиране/повреда в захранването.

  • Хардуерни повреди.

  • Използвате външна програма (като myisamchk) за промяна на таблица, която се променя и от сървъра в същото време.

  • Софтуерна грешка в MySQL или MyISAM код.

Типичните симптоми на повредена таблица са:

Получавате следните грешки, докато избирате (select) данни от таблицата:

Incorrect key file for table: '...'. Try to repair it

Заявките не намират редове в таблицата или връщат непълни резултати.

Браузера изписва грешка от типа:

Table 'table_name' is marked as crashed and should be repaired

В отделни статии ще ви запознаем с възможностите за проверка, анализ, оптимизация и поправяне на бази данни в phpMyAdmin и чрез използване на SSH команди.