BlueMan 69 Zgłoś post Napisano Luty 19, 2011 Przy przenoszeniu się na inny serwer po prostu zgrywałem bazy z /var/lib/mysql na nowy serwer i wszystko działało prawidłowo po ustawieniu uprawnień przeniesionym plikom. Teraz niestety nie zadziałało :/ problem występuje tylko z tabelami innodb. myisam prawidłowo się pojawił. phpmyadmin nie wyświetla tabel innodb. Samo innodb działa prawidłowo, ponieważ nowa baza z taką tabelą prawidłowo się wyświetla. SHOW ENGINES; Engine Support Comment Transactions XA Savepoints InnoDB DEFAULT Supports transactions, row-level locking, and fore... YES YES YES MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO BLACKHOLE YES /dev/null storage engine (anything you write to it... NO NO NO CSV YES CSV storage engine NO NO NO MEMORY YES Hash based, stored in memory, useful for temporary... NO NO NO FEDERATED NO Federated MySQL storage engine NULL NULL NULL ARCHIVE YES Archive storage engine NO NO NO MyISAM YES Default engine as of MySQL 3.23 with great perform... NO NO NO /var/log/mysql/error.log nie mówi nic interesującego 110219 16:35:58 [Note] Plugin 'FEDERATED' is disabled. 110219 16:35:58 InnoDB: Started; log sequence number 0 48339 110219 16:35:58 [Note] Event Scheduler: Loaded 0 events 110219 16:35:58 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.1.49-1ubuntu8.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu) 110219 16:35:59 [ERROR] Cannot find or open table cypissc_cars/cars from the internal data dictionary of InnoDB though the .frm file for the table exists. Maybe you have deleted and recreated InnoDB data files but have forgotten to delete the corresponding .frm files of InnoDB tables, or you have moved .frm files to another database? or, the table contains indexes that this version of the engine doesn't support. See http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html how you can resolve the problem. [...] Jak wyłączę obsługę InnoDb (skip-innodb), to phpmyadmin wyświetli wszystkie tabele, ale mają one status "w użyciu" i nic nie można z nimi zrobić. Naprawa/Analiza/Optymalizacja kończy się błędem informującym o braku wsparcia dla innodb Co może być przyczyną tego problemu? Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Luty 19, 2011 (edytowany) Tabele InnoDB powinny być przenoszone dumpują ich zawartośc i tworząc na nowym serwerze co było niejednokrotnie pisane na tym forum jak ktoś radził, że najlepszy backup to przegranie plików mysql-a. Dlatego powinieneś zrzucić zawartość tych table i dopiero przeneść na nowy serwer. Edytowano Luty 19, 2011 przez regdos (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość squeezer Zgłoś post Napisano Luty 20, 2011 Podstawowe pytanie jest takie, czy przegrywałeś także zawartość tablespace InnoDB (czyli zawartość katalogu wskazanego przez show variables like 'innodb_data_home_dir'; ) Nie zgodzę się z tym, że log błędów nie mówi nic ciekawego. Wręcz przeciwnie. Wynika z niego, że co prawda tabela `cars` istnieje w postaci pliku cars.frm, to jednak w tablespace nie ma danych dotyczących tej tabeli. Przyczyny mogą być różne. Najczęstsza to właśnie to, że przegrane zostały tylko katalogi z bazami, podczas gdy pliki współdzielonego tablespace przegrywane nie były. Zwróć uwagę, że InnoDB przechowuje informacje o tabelach we współdzielonym tablespace nawet wtedy, gdy masz ustawione innodb_file_per_table=1. Nie wystarczy przegrać pliki *.frm i *.ibd. Inną przyczyną może być to, że tablespace zostało w jakiś sposób uszkodzone, w każdym razie coś zaszkodziło tym danym. Jeśli jesteś pewny, że wszystko przegrałeś jak należy, to możesz próbować z różnymi wariantami na temat innodb_force_recovery - może uda się jakoś odzyskać te dane. Najprościej jednak będzie zaorać do zera obecny serwer MySQL (a przynajmniej przenoszone bazy) i zrobić wszystko jeszcze raz. Dumpem, bo to jest rozwiązanie najłatwiejsze do wykonania. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Luty 20, 2011 Samo przeniesienie jest w 100% skuteczne gdy bazy są przenoszone na odłączonym serwerze MySQL i oba serwery mają tą sama wersje MySQL, tak było ? Jeżeli oba serwery mają tę samą wersje to wyłącz MySQL na serwerze z bazami, usuń wszystko z serwera docelowego i daj 'rsync -ax'. Jeżeli nie można tego wykonać to zostaje usunięcie błędnych tabel innodb i dump/restore. Udostępnij ten post Link to postu Udostępnij na innych stronach