Как преобразовать механизм хранения базы данных с InnoDB
в MyISAM
на MySQL
?
Я нашел так много сайтов, которые преобразуют механизм хранения таблицы базы данных, но не для базы данных.
Спасибо заранее.
Как преобразовать механизм хранения базы данных с InnoDB
в MyISAM
на MySQL
?
Я нашел так много сайтов, которые преобразуют механизм хранения таблицы базы данных, но не для базы данных.
Спасибо заранее.
Вы не можете изменить механизм хранения по умолчанию для базы данных, но вы можете изменить его для всего сервера, используя настройку default-storage-engine
config. Обратите внимание, что это фактически не изменит механизм хранения существующих таблиц, но только для новых, созданных после изменения.
используйте это!!
SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;
-cheers!!
ALTER TABLE `table_name` ENGINE=INNODB
Базы данных - это просто способ MySQL пространства имен, так как в базе данных нет связанного с ним движка, только в таблицах есть механизм хранения. Вот почему у вас может быть база данных с несколькими разными таблицами, каждая из которых имеет другой движок.
Вам нужно будет каждый раз изменять каждую таблицу, чтобы переключать их на InnoDB.
чтобы сделать его постоянным, добавьте в my.cnf(несколько мест в зависимости от контекста)
/etc/my.cnf
default-storage-engine= MyISAM
для обеспечения безопасности, выведите список db с показать базы данных;
в моем случае, используя php для quickie..
$db = mysql_connect('localhost','someadmin','somepass');
$dbs = array();
$dbs[] = 'test';
$dbs[] = 'myImportantDb';
foreach($dbs as $v){
mysql_select_db($v);
$q = mysql_query('show tables');
$tables = array();
while($r = mysql_fetch_row($q)){
$tables[] = $r[0];
}
foreach($tables as $t){
echo "do $v.$t\n";
mysql_query('ALTER TABLE `'.$t.'` ENGINE=MyISAM;');
}
}
mysql_close($db);
В PhpMyadmin 4.5 Выберите вкладку переменных и найдите двигатель хранения и выберите "Изменить" и введите MyISAM.
Вы можете изменить механизм хранения через PhpMyAdmin. В подробном представлении таблицы. Смотрите скриншот: