Byłbym wdzięczny, gdyby ktokolwiek mógł mi pomóc w wyborze właściwego polecenia w MySQL do zapytania całej bazy danych o silnik „MyISAM”. Muszę przekonwertować wszystkie DB i tabele z MyISAM do InnoDB.
Byłbym wdzięczny, gdyby ktokolwiek mógł mi pomóc w wyborze właściwego polecenia w MySQL do zapytania całej bazy danych o silnik „MyISAM”. Muszę przekonwertować wszystkie DB i tabele z MyISAM do InnoDB.
Odpowiedzi:
Poniżej znajduje się zapytanie, aby znaleźć wszystkie tabele, które mają MyISAM
silnik
SELECT TABLE_SCHEMA as DbName ,TABLE_NAME as TableName ,ENGINE as Engine FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Powyższe zapytanie wyświetli wszystkie tabele z MyISAM
silnikiem.
Aby dowiedzieć się, jak przekonwertować istniejące tabele MyISAM na InnoDB,
poniżej znajduje się zapytanie, które zwróci instrukcje ALTER do konwersji istniejących MyISAM
tabel InnoDB
.
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA,'`.`',TABLE_NAME, '` ENGINE = InnoDB;') FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Możesz wykonać te instrukcje, aby przekonwertować silniki.