Skocz do zawartości
Zaloguj się, aby obserwować  
rogal801

problem z usunieciem uszkodzonej bazy inndb

Polecane posty

w skrócie moje bazy innodb zostały uszkodzone i chciałbym je całkowicie usunąc z serwera bazodanowego. Niestety nie dają się usunąć

 

mysql -e "DROP DATABASE \`xyz\`"

ERROR 1008 (HY000) at line 1: Can't drop database 'xyz'; database doesn't exist

 

 

mysql -e "CREATE DATABASE \`xyz\`"

ERROR 1007 (HY000) at line 1: Can't create database 'xyz'; database exists

 

W bazie widoczne są poszczególne tabele, ale fizycznie nie ma ich w katalogu bazy. Są zapewne w pliku ibdata1, ale pliki .frm zostały usunięte i w ten sposób tamte dane są osierocone.

 

Googlowałem wiele godzin i nie znalazłem odpowiedzi na to pytanie, chociaz wielu ludzi ma ten sam problem.

 

Mogłbym oczywiście utworzyć bazę pod inną nazwą lub skasować cały ibdata1, ale mam tam także dobre bazy. Chyba nie powinno być aż tak trudne usunięcie bazy?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
w skrócie moje bazy innodb zostały uszkodzone i chciałbym je całkowicie usunąc z serwera bazodanowego. Niestety nie dają się usunąć

 

mysql -e "DROP DATABASE \`xyz\`"

ERROR 1008 (HY000) at line 1: Can't drop database 'xyz'; database doesn't exist

 

 

mysql -e "CREATE DATABASE \`xyz\`"

ERROR 1007 (HY000) at line 1: Can't create database 'xyz'; database exists

 

W bazie widoczne są poszczególne tabele, ale fizycznie nie ma ich w katalogu bazy. Są zapewne w pliku ibdata1, ale pliki .frm zostały usunięte i w ten sposób tamte dane są osierocone.

 

Googlowałem wiele godzin i nie znalazłem odpowiedzi na to pytanie, chociaz wielu ludzi ma ten sam problem.

 

Mogłbym oczywiście utworzyć bazę pod inną nazwą lub skasować cały ibdata1, ale mam tam także dobre bazy. Chyba nie powinno być aż tak trudne usunięcie bazy?

 

jaka to wersja mysql ?

sprawdz czy w errorlogu nie ma czasem informacji jak mozna rozwiazac ten problem ?

 

czy skasowanie calego katalogu z plikami .frm nie "usunie bazy" w twoim wypadku?

 

mozna tez to obejsc wykonujac zrzut wszystkich baz uzywajacych innodb, nastepnie wylaczyc silnik, skasowac katalogow z tymi bazami oraz pliki innodb i ponowne zaimportowac bazy innodb

 

mozna tez by sprobowac http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wyłącz demona, skasuj pliki danej bazy (gdzie tam masz trzymane bazy), uruchom mysql'a, usuń odpowiednie rekordy związane z daną bazą w bazie "mysql" (tabela bodajże "db").

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×