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.