Поправяне на повредена mysql таблица

Понеже забелязах, че има доста питания за поправяне на повредена таблица в mysql база реших в тази публикация да напиша някои от начините които ползвам.

Обикновено когато таблицата е повредена излиза следното съобщение:

"… is marked as crashed and should be repaired …"

Първи начин:

myisamchk -r <DatabaseName>\*.MYI

Втори начин:

repair table powredena_tablica_w_mysql

Ето набързо написах един прост script които предлага repair, optimize и check на таблиците в mysql:

#!/bin/sh
#Mysql Table Fixer v 0.75 |  Written by amri

#Variables

MUSER=$2
MPASS=$3
DBNAME=$4

Usage() {
echo "Usage: $0"
echo " --optimize mysqluser mysqlpass tablename"
echo " --repair mysqluser mysqlpass tablename"
echo " --check mysqluser mysqlpass tablename"
return
}

repair_mysql_table()
{
TABLENAMES=`mysql -u$MUSER -p$MPASS -D $DBNAME -e "SHOW TABLES\G;"|grep 'Tables_in_'|sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`
for TABLENAME in $TABLENAMES
do
mysql -u$MUSER -p$MPASS -D $DBNAME -e "$1 TABLE $TABLENAME;"
done
}

if [ $# -eq 0 ] ; then
Usage
exit 1
fi

case $1 in
--repair) repair_mysql_table "repair";;
--optimize) repair_mysql_table "optimize";;
--check) repair_mysql_table "check";;
--help) Usage; exit 1;;
*) Usage; exit 1;;
esac

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Поправяне на повредена mysql таблица, 5.0 out of 5 based on 1 rating

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *