Начало > Помощен център > Споделен Хостинг Linux > Бази Данни > Проверка и поправяне на Mysql бази данни в cPanel

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

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

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

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

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

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

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

Интерфейс за проверка на база данни в cPanel

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

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

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

Съобщение за успешно завършена проверка

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

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

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

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

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

Интерфейс за поправяне на база данни в cPanel

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

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

Завършено поправяне на базата данни

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

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

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

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

Има два вида 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;

Промяна на база данни през phpMyAdmin

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

Потвърждение за коректно изпълнен код

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

Информация за хранилище на MySQL таблица в phpMyAdmin

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

Успешно поправяне на MyISAM таблица

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 команди.