Niedawno popełniłem głupi błąd i zepsułem moją instalację Ubuntu. Aby to rozwiązać, uruchomiłem z dysku CD na żywo i skopiowałem pliki bazy danych. Jednak teraz skopiowałem foldery ze starej instalacji do nowej, za każdym razem, gdy wpisuję „use nazwa_bazy_danych”, po prostu zawiesza się:
mysql> use my_database_name;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
A następnie zawiesza się bez podawania terminala.
W moim przypadku „czytanie informacji o stole” zajmowało nieracjonalnie dużo czasu. Kiedy uruchomiłem
mysql -e 'show processlist'
, odkryłem, że procesem „zawieszającym się” było „Oczekiwanie na zablokowanie metadanych tabeli”. To miało pewien sens, ponieważ miałem długo działające zapytanie o formularzcreate table from select ...
działający gdzie indziej, więc na jednym poziomie mogłem zrozumieć, że dopóki nowa tabela nie zostanie utworzona, metadane dotyczące tabel nie będą dostępne. (Wydaje mi się, że lepiej byłoby, gdyby funkcja automatycznego uzupełniania pomijała wszelkie „niekompletne” tabele z zapytania o metadane, gdyby było to możliwe).źródło
źródło