Ton*_*ark 26 php mysql phpmyadmin
如何将数据库存储引擎转换InnoDB为MyISAM开启MySQL?我找到了很多站点来转换数据库表的存储引擎,但不是数据库.

提前致谢.
Dev*_*per 48
用这个!!
SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;
Run Code Online (Sandbox Code Playgroud)
-干杯!!
Eri*_*lje 12
您无法更改数据库的默认存储引擎,但可以使用default-storage-engine配置设置为整个服务器更改它.请注意,这实际上不会更改现有表的存储引擎,仅适用于更改后创建的新引擎.
数据库只是MySQL执行命名空间的方式,因此数据库没有与之关联的引擎,只有表具有存储引擎.这就是为什么你可以拥有一个包含几个不同表的数据库,每个表都有不同的引擎.
您将不得不逐个修改每个表以将它们切换到InnoDB.
小智 5
要使其永久化,请添加到 my.cnf (少数位置取决于上下文)
/etc/my.cnf
default-storage-engine= MyISAM
为了安全起见,使用 show Databases 输出数据库列表;
就我而言,使用 php 进行快速操作..
$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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78080 次 |
| 最近记录: |