Tüm MyISAM veritabanını sorgulayan MySQL komutu


13

Herkes MySQL "MyISAM" motoru olması için tüm veritabanını sorgulamak için uygun komut nedir bana yardımcı olabilir eğer takdir ediyorum. Tüm DB & tabloları MyISAM InnoDB dönüştürmek gerekiyor.

Yanıtlar:


25

MyISAMAltyapısı olan tüm tabloları bulmak için Sorgu

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');

Sorgu üzerinde, MyISAMEngine olan tüm tablolar listelenir .

Mevcut MyISAM tablolarınızı InnoDB'ye nasıl dönüştüreceğiniz aşağıda Var olan MyISAMTabloları dönüştürmek için ALTER İfadeleri döndüren sorgu aşağıdadır 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');

Motorları dönüştürmek için bu ifadeleri yürütebilirsiniz.


Teşekkürler @AbdulManaf. İlk komutun sunucuda zaman alacağını beklemiyordum.
— James Wise

Evet, zaman almamalı.
— Abdul Manaf

InnoDB olmayan veritabanlarındaki tüm tabloları bulmak için nasıl sorgulanır?
— James Wise
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.