Kaji Asked: 2011-01-04 19:50:52 +0800 CST2011-01-04 19:50:52 +0800 CST 2011-01-04 19:50:52 +0800 CST 如何更改 phpmyadmin 中的默认存储引擎? 772 我几乎只在我的应用程序中使用 InnoDB。但是,如果我在设置表格时不小心,我会忘记更改它,并且 phpmyadmin 会使用 MyISAM。有没有办法更改默认存储引擎? mysql innodb 5 个回答 Voted Best Answer BenV 2011-01-05T09:50:54+08:002011-01-05T09:50:54+08:00 您必须在mysql 配置文件(my.cnf 或 my.ini 取决于您的操作系统)部分 default-storage-engine = InnoDB下添加该行并重新启动 mysqld 服务。[mysqld] 我不相信你可以通过 PhpMyAdmin 来改变它。 machineaddict 2014-11-22T01:16:31+08:002014-11-22T01:16:31+08:00 这个答案有点晚了,但它可能对其他人有所帮助。如果您害怕在 MySQL 服务器上搞砸,您可以在从 phpMyAdmin 创建表时更改默认引擎。MySQL 引擎的默认选择创建者是文件夹下StorageEngine.class.php的这个函数libraries(在 phpMyAdmin 3.5.8.2 中): <?php /** * returns HTML code for storage engine select box * * @param string $name The name of the select form element * @param string $id The ID of the form field * @param string $selected The selected engine * @param boolean $offerUnavailableEngines Should unavailable storage engines be offered? * * @static * @return string html selectbox */ static public function getHtmlSelect($name = 'engine', $id = null, $selected = null, $offerUnavailableEngines = false) { $selected = strtolower($selected); $output = '<select name="' . $name . '"' . (empty($id) ? '' : ' id="' . $id . '"') . '>' . "\n"; foreach (PMA_StorageEngine::getStorageEngines() as $key => $details) { // Don't show PERFORMANCE_SCHEMA engine (MySQL 5.5) // Don't show MyISAM for Drizzle (allowed only for temporary tables) if (! $offerUnavailableEngines && ($details['Support'] == 'NO' || $details['Support'] == 'DISABLED' || $details['Engine'] == 'PERFORMANCE_SCHEMA') || (PMA_DRIZZLE && $details['Engine'] == 'MyISAM') ) { continue; } $output .= ' <option value="' . htmlspecialchars($key). '"' . (empty($details['Comment']) ? '' : ' title="' . htmlspecialchars($details['Comment']) . '"') . (strtolower($key) == $selected || (empty($selected) && $details['Support'] == 'DEFAULT') ? ' selected="selected"' : '') . '>' . "\n" . ' ' . htmlspecialchars($details['Engine']) . "\n" . ' </option>' . "\n"; } $output .= '</select>' . "\n"; return $output; } 此选择由以下查询填充: SHOW STORAGE ENGINES 以下代码选择 MySQL 配置文件设置的默认引擎: (empty($selected) && $details['Support'] == 'DEFAULT') 但是,我们可以更改它以使其选择 InnoDB 作为默认引擎: (empty($selected) && $details['Engine'] == 'InnoDB') Owen Parker 2016-06-27T06:42:35+08:002016-06-27T06:42:35+08:00 UPDATE `information_schema`.`GLOBAL_VARIABLES` SET `VARIABLE_VALUE`="InnoDB" WHERE `VARIABLE_NAME`="DEFAULT_STORAGE_ENGINE" KD_Raj 2020-06-20T11:02:15+08:002020-06-20T11:02:15+08:00 您可以在 PHPMYADMIN 中为每个表更改它: 点击phpmyadmin中的表格 点击右上角的“操作”。 在 Table Options 部分的下拉菜单中选择您的存储引擎,例如InnoDB等 点击开始 如果您有许多表格,则可能需要一些时间来单击每个表格并执行此操作,但这是可能的。 sidoco 2022-04-06T04:38:38+08:002022-04-06T04:38:38+08:00 这是一个老问题,但对于初学者或其他人来说每次都需要这是我发现并工作的好方法: 更改默认引擎的最简单方法是登录 phpMyAdmin,然后转到变量 >> 存储引擎(变量选项卡适用于 WAMP.. 对于 XAMPP,请在操作选项卡中找到它) 单击编辑并键入InnoDB。 默认存储引擎现在是 InnoDB http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_storage_engine ==================================================== ======= 主要答案链接: https ://stackoverflow.com/a/21158741/8934351
您必须在mysql 配置文件(my.cnf 或 my.ini 取决于您的操作系统)部分
default-storage-engine = InnoDB
下添加该行并重新启动 mysqld 服务。[mysqld]
我不相信你可以通过 PhpMyAdmin 来改变它。
这个答案有点晚了,但它可能对其他人有所帮助。如果您害怕在 MySQL 服务器上搞砸,您可以在从 phpMyAdmin 创建表时更改默认引擎。MySQL 引擎的默认选择创建者是文件夹下
StorageEngine.class.php
的这个函数libraries
(在 phpMyAdmin 3.5.8.2 中):此选择由以下查询填充:
以下代码选择 MySQL 配置文件设置的默认引擎:
但是,我们可以更改它以使其选择 InnoDB 作为默认引擎:
您可以在 PHPMYADMIN 中为每个表更改它:
如果您有许多表格,则可能需要一些时间来单击每个表格并执行此操作,但这是可能的。
这是一个老问题,但对于初学者或其他人来说每次都需要这是我发现并工作的好方法:
更改默认引擎的最简单方法是登录 phpMyAdmin,然后转到变量 >> 存储引擎(变量选项卡适用于 WAMP.. 对于 XAMPP,请在操作选项卡中找到它)
单击编辑并键入InnoDB。
默认存储引擎现在是 InnoDB
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_storage_engine
==================================================== =======
主要答案链接: https ://stackoverflow.com/a/21158741/8934351