Article Directory
MySQL таблицасынын катасы кыйрады жана акыркы (автоматтык түрдө?) деп белгиленет - чечим.
Бул макалада үстөлдөрдү оңдоо боюнча кеңештерибиз менен тааныштырабызError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedчечим.
Төмөнкү билдирүүдө көрсөтүлгөндөй, MySQL таблицасында көйгөй бар: ▼
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
mysql_upgrade таблицаларды текшерүү жана оңдоо жана системалык таблицаларды жаңыртуу үчүн төмөнкү буйруктарды аткарат ▼
mysqlcheck --all-databases --check-upgrade --auto-repair
- Операциянын катасы кайтарылгыс жана маалымат базасы тындырылышы керек:
service monit stop
service mysqld stop
- Маалымат базасы жайгашкан каталогду киргизиңиз:
cd /var/lib/mysql/db_name/
Эскертүү: MySQL кызматы оңдоодон мурун токтотулушу керек.
- Жалгыз маалымат таблицасын оңдоо:
myisamchk -r tablename.MYI
- Бардык маалымат таблицаларын оңдоо:
myisamchk -r *.MYI
- Коопсуз режим:
myisamchk -r -v -o <table_name>
- Күч режими:
myisamchk -r -v -f <table_name>
myisamchk колдонуу
Эскертүү: myisamchk колдонуудан мурун, mysqld текшериле турган таблицага кирбей жатканын текшериңиз. Mysqldду токтоткон жакшы.
- жүргүзүлгөн
myisamchk –update-state -s *.myi
, кайсы индекс файлдарында көйгөйлөр бар экенин текшериңиз (бул көп убакытты талап кылышы мүмкүн).
- Update-state параметри mysqld токтоткондо гана колдонулат. -s кээ бир кадимки таблицада келтирилген маалыматты этибарга албай, каталарды гана тизмектеп коюуну билдирет.
- Ар бир бузулган үстөл үчүн аракет кылыңыз
myisamchk -r -q table_name
Бул индекс таблицасы менен маалымат таблицасынын шайкештигин автоматтык түрдө текшерген тез оңдоо режими. Эгерде ал ырааттуу болсо, аны оңдоого болот.
- Ыкчам оңдоо режими ишке ашпай калса, карап көрүңүз:
myisamchk -r table_name
Дал келбеген маалыматтар жана индекстер жок кылынат жана индекстер кайра түзүлөт.
- Эгер бул ишке ашпай калса, ойлонуп көрүңүз:
myisamchk –safe-recover table_name
Операциянын мисалы
Операциянын катасы кайтарылгыс жана маалымат базасы тындырылышы керек:
service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_ufo
cd /var/lib/mysql/eloha_cwl
Бардык маалымат таблицаларын оңдоо:
myisamchk -r *.MYI
myisamchk -r -v -f wp_postmeta.MYI
myisamchk -r -v -f wp_posts.MYI
myisamchk -r -v -f wp_options.MYI
myisamchk -r -v -f wp_itsec_log
Бул -r караганда бир топ жайыраак, бирок -r кыла албаган жагдайларды чече алат.
myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
Бул маалымат базасынын таблицасынын толук жолунун буйругу:
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI
MYSQLD маалымат базасын баштоо:
service mysqld start
service mysqld restart
MONIT мониторинг программасын баштаңыз :
service monit restart
service monit start
Чен Вэйлиангдын блогунда ( https://www.chenweiliang.com/ ) бөлүшүлгөн "MySQL таблица катасынын чечими 'Бузулган жана акыркы (автоматтык түрдө?)' оңдоо" деген макала сизге пайдалуу болот деп үмүттөнөбүз.
Бул макаланын шилтемеси менен бөлүшүүдөн тартынбаңыз: https://www.chenweiliang.com/cwl-176.html
