<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.doge24190.top/index.php?action=history&amp;feed=atom&amp;title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8</id>
	<title>安装MediaWiki时遇到MyISAM被禁用 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.doge24190.top/index.php?action=history&amp;feed=atom&amp;title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8"/>
	<link rel="alternate" type="text/html" href="https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;action=history"/>
	<updated>2026-06-11T02:33:55Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=8&amp;oldid=prev</id>
		<title>2026年6月10日 (三) 22:01 Doge24190</title>
		<link rel="alternate" type="text/html" href="https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=8&amp;oldid=prev"/>
		<updated>2026-06-10T22:01:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年6月11日 (四) 06:01的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l180&quot;&gt;第180行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第180行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;对于使用 Oracle Cloud MySQL、阿里云 RDS、腾讯云数据库、AWS RDS 等云服务商数据库系统的用户来说，这类问题并不罕见。云数据库通常更偏向稳定、安全和统一管理，因此会禁用一些旧式或不推荐的特性。安装传统 PHP 程序时，如果遇到类似报错，应优先检查程序的建表 SQL 是否使用了云数据库不支持的存储引擎。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;对于使用 Oracle Cloud MySQL、阿里云 RDS、腾讯云数据库、AWS RDS 等云服务商数据库系统的用户来说，这类问题并不罕见。云数据库通常更偏向稳定、安全和统一管理，因此会禁用一些旧式或不推荐的特性。安装传统 PHP 程序时，如果遇到类似报错，应优先检查程序的建表 SQL 是否使用了云数据库不支持的存储引擎。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[分类:MediaWiki]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[分类:MediaWiki]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[分类:技术博客]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Doge24190</name></author>
	</entry>
	<entry>
		<id>https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=6&amp;oldid=prev</id>
		<title>2026年6月10日 (三) 21:42 Doge24190</title>
		<link rel="alternate" type="text/html" href="https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=6&amp;oldid=prev"/>
		<updated>2026-06-10T21:42:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年6月11日 (四) 05:42的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l179&quot;&gt;第179行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第179行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;对于使用 Oracle Cloud MySQL、阿里云 RDS、腾讯云数据库、AWS RDS 等云服务商数据库系统的用户来说，这类问题并不罕见。云数据库通常更偏向稳定、安全和统一管理，因此会禁用一些旧式或不推荐的特性。安装传统 PHP 程序时，如果遇到类似报错，应优先检查程序的建表 SQL 是否使用了云数据库不支持的存储引擎。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;对于使用 Oracle Cloud MySQL、阿里云 RDS、腾讯云数据库、AWS RDS 等云服务商数据库系统的用户来说，这类问题并不罕见。云数据库通常更偏向稳定、安全和统一管理，因此会禁用一些旧式或不推荐的特性。安装传统 PHP 程序时，如果遇到类似报错，应优先检查程序的建表 SQL 是否使用了云数据库不支持的存储引擎。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[分类:MediaWiki]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Doge24190</name></author>
	</entry>
	<entry>
		<id>https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=2&amp;oldid=prev</id>
		<title>Doge24190：​创建页面，内容为“= 使用云服务商 MySQL 安装 MediaWiki 时遇到 MyISAM 被禁用的解决记录 =  == 问题背景 == 在安装 MediaWiki 时，如果数据库使用的不是本机自建 MySQL，而是云服务商提供的托管数据库系统，例如：  * Oracle Cloud MySQL HeatWave * 阿里云 RDS MySQL * 腾讯云云数据库 MySQL * AWS RDS / Aurora MySQL * Google Cloud SQL for MySQL  那么在安装过程中可能会遇到与传统自建 MySQL 不同的问题。…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.doge24190.top/index.php?title=%E5%AE%89%E8%A3%85MediaWiki%E6%97%B6%E9%81%87%E5%88%B0MyISAM%E8%A2%AB%E7%A6%81%E7%94%A8&amp;diff=2&amp;oldid=prev"/>
		<updated>2026-06-10T21:31:16Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“= 使用云服务商 MySQL 安装 MediaWiki 时遇到 MyISAM 被禁用的解决记录 =  == 问题背景 == 在安装 MediaWiki 时，如果数据库使用的不是本机自建 MySQL，而是云服务商提供的托管数据库系统，例如：  * Oracle Cloud MySQL HeatWave * 阿里云 RDS MySQL * 腾讯云云数据库 MySQL * AWS RDS / Aurora MySQL * Google Cloud SQL for MySQL  那么在安装过程中可能会遇到与传统自建 MySQL 不同的问题。…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= 使用云服务商 MySQL 安装 MediaWiki 时遇到 MyISAM 被禁用的解决记录 =&lt;br /&gt;
&lt;br /&gt;
== 问题背景 ==&lt;br /&gt;
在安装 MediaWiki 时，如果数据库使用的不是本机自建 MySQL，而是云服务商提供的托管数据库系统，例如：&lt;br /&gt;
&lt;br /&gt;
* Oracle Cloud MySQL HeatWave&lt;br /&gt;
* 阿里云 RDS MySQL&lt;br /&gt;
* 腾讯云云数据库 MySQL&lt;br /&gt;
* AWS RDS / Aurora MySQL&lt;br /&gt;
* Google Cloud SQL for MySQL&lt;br /&gt;
&lt;br /&gt;
那么在安装过程中可能会遇到与传统自建 MySQL 不同的问题。&lt;br /&gt;
&lt;br /&gt;
我这次使用的是 Oracle Cloud 创建的 MySQL 数据库系统，并让同一 VCN 内的服务器通过内网连接该数据库。前面的数据库连接、用户授权都处理完成后，MediaWiki 在创建数据表时出现了如下错误：&lt;br /&gt;
 &amp;lt;code&amp;gt;Error 3161: Storage engine MyISAM is disabled (Table creation is disallowed).&lt;br /&gt;
 &lt;br /&gt;
 Function: Wikimedia\Rdbms\Database::sourceFile(&lt;br /&gt;
 /www/wwwroot/mediawiki-1.45.3/sql/mysql/tables-generated.sql&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 Query:&lt;br /&gt;
 CREATE TABLE `my_wikisearchindex` (&lt;br /&gt;
   si_page INT UNSIGNED NOT NULL,&lt;br /&gt;
   si_title MEDIUMTEXT NOT NULL,&lt;br /&gt;
   si_text MEDIUMTEXT NOT NULL,&lt;br /&gt;
   FULLTEXT INDEX si_title (si_title),&lt;br /&gt;
   FULLTEXT INDEX si_text (si_text),&lt;br /&gt;
   PRIMARY KEY(si_page)&lt;br /&gt;
 ) ENGINE = MyISAM DEFAULT CHARSET = utf8mb4&amp;lt;/code&amp;gt;&lt;br /&gt;
核心错误是：&lt;br /&gt;
 &amp;lt;code&amp;gt;Storage engine MyISAM is disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
也就是说，MediaWiki 的安装 SQL 尝试创建一个使用 MyISAM 存储引擎的数据表，但云服务商的 MySQL 数据库系统禁用了 MyISAM，因此建表失败。&lt;br /&gt;
&lt;br /&gt;
== 为什么云数据库会出现这个问题？ ==&lt;br /&gt;
MySQL 早期有多个存储引擎，其中比较常见的是：&lt;br /&gt;
&lt;br /&gt;
* InnoDB&lt;br /&gt;
* MyISAM&lt;br /&gt;
&lt;br /&gt;
现代 MySQL 默认推荐使用 InnoDB。相比 MyISAM，InnoDB 支持事务、崩溃恢复、行级锁、外键等特性，更适合现代 Web 应用。&lt;br /&gt;
&lt;br /&gt;
而 MyISAM 是较旧的存储引擎，它没有事务支持，崩溃恢复能力和并发处理能力也较弱。很多云服务商为了安全性、稳定性和统一管理，会直接禁用 MyISAM。&lt;br /&gt;
&lt;br /&gt;
因此在自建 MySQL 中可能还能正常执行的建表语句：&lt;br /&gt;
 &amp;lt;code&amp;gt;ENGINE = MyISAM&amp;lt;/code&amp;gt;&lt;br /&gt;
到了云服务商的托管 MySQL 环境中，就可能直接报错。&lt;br /&gt;
&lt;br /&gt;
== MediaWiki 为什么会用到 MyISAM？ ==&lt;br /&gt;
报错中出问题的表是：&lt;br /&gt;
 &amp;lt;code&amp;gt;searchindex&amp;lt;/code&amp;gt;&lt;br /&gt;
如果安装时设置了表前缀，例如我这里使用了：&lt;br /&gt;
 &amp;lt;code&amp;gt;my_wiki&amp;lt;/code&amp;gt;&lt;br /&gt;
那么实际表名会变成：&lt;br /&gt;
 &amp;lt;code&amp;gt;my_wikisearchindex&amp;lt;/code&amp;gt;&lt;br /&gt;
这个表主要用于 MediaWiki 的站内全文搜索。&lt;br /&gt;
&lt;br /&gt;
MediaWiki 历史上将搜索索引表设置为 MyISAM，主要是因为早期 MySQL 中 FULLTEXT 全文索引主要依赖 MyISAM。后来 MySQL 的 InnoDB 也已经支持 FULLTEXT，因此在现代 MySQL 版本中，将该表改为 InnoDB 通常是可行的。&lt;br /&gt;
&lt;br /&gt;
== 解决方法：将 MyISAM 替换为 InnoDB ==&lt;br /&gt;
MediaWiki 1.45.3 中，相关建表 SQL 文件位于：&lt;br /&gt;
 &amp;lt;code&amp;gt;/www/wwwroot/mediawiki-1.45.3/sql/mysql/tables-generated.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
在修改前，建议先备份原文件：&lt;br /&gt;
 &amp;lt;code&amp;gt;cd /www/wwwroot/mediawiki-1.45.3&lt;br /&gt;
 &lt;br /&gt;
 sudo cp sql/mysql/tables-generated.sql \&lt;br /&gt;
 sql/mysql/tables-generated.sql.bak&amp;lt;/code&amp;gt;&lt;br /&gt;
然后将其中的 MyISAM 替换为 InnoDB：&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo sed -i &amp;#039;s/ENGINE = MyISAM/ENGINE = InnoDB/g&amp;#039; \&lt;br /&gt;
 sql/mysql/tables-generated.sql&lt;br /&gt;
 &lt;br /&gt;
 sudo sed -i &amp;#039;s/ENGINE=MyISAM/ENGINE=InnoDB/g&amp;#039; \&lt;br /&gt;
 sql/mysql/tables-generated.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
替换后可以检查是否还存在 MyISAM：&lt;br /&gt;
 &amp;lt;code&amp;gt;grep -n &amp;quot;MyISAM&amp;quot; sql/mysql/tables-generated.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
如果没有输出，说明这个文件中已经没有 MyISAM 建表语句。&lt;br /&gt;
&lt;br /&gt;
也可以检查 InnoDB 替换结果：&lt;br /&gt;
 &amp;lt;code&amp;gt;grep -n &amp;quot;ENGINE = InnoDB&amp;quot; sql/mysql/tables-generated.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 注意：安装失败后建议清空数据库重新安装 ==&lt;br /&gt;
如果 MediaWiki 已经安装到一半失败，数据库中可能已经创建了一部分表。为了避免残留表影响后续安装，建议删除并重新创建数据库。&lt;br /&gt;
&lt;br /&gt;
进入 MySQL 管理员账号后执行：&lt;br /&gt;
 &amp;lt;code&amp;gt;DROP DATABASE IF EXISTS mediawiki;&lt;br /&gt;
 &lt;br /&gt;
 CREATE DATABASE mediawiki&lt;br /&gt;
   CHARACTER SET utf8mb4&lt;br /&gt;
   COLLATE utf8mb4_unicode_ci;&amp;lt;/code&amp;gt;&lt;br /&gt;
如果数据库用户已经创建过，也可以重新授权：&lt;br /&gt;
 &amp;lt;code&amp;gt;GRANT ALL PRIVILEGES ON mediawiki.* TO &amp;#039;mediawiki&amp;#039;@&amp;#039;10.0.0.47&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 FLUSH PRIVILEGES;&amp;lt;/code&amp;gt;&lt;br /&gt;
其中：&lt;br /&gt;
 &amp;lt;code&amp;gt;10.0.0.47&amp;lt;/code&amp;gt;&lt;br /&gt;
需要替换成实际 Web 服务器的内网 IP。&lt;br /&gt;
&lt;br /&gt;
如果当前只是为了先跑通安装，也可以临时使用：&lt;br /&gt;
 &amp;lt;code&amp;gt;GRANT ALL PRIVILEGES ON mediawiki.* TO &amp;#039;mediawiki&amp;#039;@&amp;#039;%&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 FLUSH PRIVILEGES;&amp;lt;/code&amp;gt;&lt;br /&gt;
不过长期使用时，更推荐限制为指定内网 IP，而不是使用通配符 &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 安装完成后检查表引擎 ==&lt;br /&gt;
安装完成后，建议检查数据库中是否还有 MyISAM 表。&lt;br /&gt;
&lt;br /&gt;
进入 MySQL 后执行：&lt;br /&gt;
 &amp;lt;code&amp;gt;SELECT TABLE_NAME, ENGINE&lt;br /&gt;
 FROM information_schema.TABLES&lt;br /&gt;
 WHERE TABLE_SCHEMA = &amp;#039;mediawiki&amp;#039;&lt;br /&gt;
 ORDER BY ENGINE, TABLE_NAME;&amp;lt;/code&amp;gt;&lt;br /&gt;
如果想只检查 MyISAM 表，可以执行：&lt;br /&gt;
 &amp;lt;code&amp;gt;SELECT TABLE_NAME, ENGINE&lt;br /&gt;
 FROM information_schema.TABLES&lt;br /&gt;
 WHERE TABLE_SCHEMA = &amp;#039;mediawiki&amp;#039;&lt;br /&gt;
   AND ENGINE = &amp;#039;MyISAM&amp;#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
如果返回空结果，说明当前数据库中没有 MyISAM 表。&lt;br /&gt;
&lt;br /&gt;
也可以单独检查搜索索引表：&lt;br /&gt;
 &amp;lt;code&amp;gt;SHOW CREATE TABLE my_wikisearchindex\G&amp;lt;/code&amp;gt;&lt;br /&gt;
如果没有设置表前缀，则表名可能是：&lt;br /&gt;
 &amp;lt;code&amp;gt;SHOW CREATE TABLE searchindex\G&amp;lt;/code&amp;gt;&lt;br /&gt;
重点确认其中包含：&lt;br /&gt;
 &amp;lt;code&amp;gt;ENGINE=InnoDB&amp;lt;/code&amp;gt;&lt;br /&gt;
以及 FULLTEXT 索引是否正常存在。&lt;br /&gt;
&lt;br /&gt;
== 这样修改会不会有后患？ ==&lt;br /&gt;
从实际使用角度看，将 MediaWiki 的搜索索引表从 MyISAM 改为 InnoDB，一般不会影响正常运行。&lt;br /&gt;
&lt;br /&gt;
因为 MyISAM / InnoDB 是建表时指定的存储引擎。一旦表已经创建为 InnoDB，MediaWiki 后续运行时主要执行的是：&lt;br /&gt;
&lt;br /&gt;
* INSERT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* SELECT&lt;br /&gt;
* DELETE&lt;br /&gt;
* ALTER TABLE&lt;br /&gt;
* CREATE INDEX&lt;br /&gt;
&lt;br /&gt;
它不会在普通访问、编辑页面、上传文件、搜索页面时自动把表切回 MyISAM。&lt;br /&gt;
&lt;br /&gt;
对于现代 MySQL 来说，InnoDB 反而是更推荐的选择。它具有更好的事务支持、崩溃恢复能力和并发处理能力，也更符合云数据库系统的默认管理策略。&lt;br /&gt;
&lt;br /&gt;
== 后续维护和升级时的注意事项 ==&lt;br /&gt;
这个问题真正需要注意的是后续升级。&lt;br /&gt;
&lt;br /&gt;
由于这次修改的是 MediaWiki 源码目录中的 SQL 文件：&lt;br /&gt;
 &amp;lt;code&amp;gt;sql/mysql/tables-generated.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
所以以后升级 MediaWiki 时，如果换成了新的源码目录，或者覆盖了原来的 SQL 文件，官方包中的 &amp;lt;code&amp;gt;ENGINE = MyISAM&amp;lt;/code&amp;gt; 可能会再次出现。&lt;br /&gt;
&lt;br /&gt;
因此后续升级前后建议检查：&lt;br /&gt;
 &amp;lt;code&amp;gt;grep -Rni &amp;quot;MyISAM&amp;quot; /www/wwwroot/mediawiki-1.45.3/sql&amp;lt;/code&amp;gt;&lt;br /&gt;
如果已经升级到新目录，例如：&lt;br /&gt;
 &amp;lt;code&amp;gt;/www/wwwroot/mediawiki-1.46.x/&amp;lt;/code&amp;gt;&lt;br /&gt;
则需要改成对应的新路径：&lt;br /&gt;
 &amp;lt;code&amp;gt;grep -Rni &amp;quot;MyISAM&amp;quot; /www/wwwroot/mediawiki-1.46.x/sql&amp;lt;/code&amp;gt;&lt;br /&gt;
如果发现新的安装或升级 SQL 中仍然存在：&lt;br /&gt;
 &amp;lt;code&amp;gt;ENGINE = MyISAM&amp;lt;/code&amp;gt;&lt;br /&gt;
就需要再次评估是否替换为：&lt;br /&gt;
 &amp;lt;code&amp;gt;ENGINE = InnoDB&amp;lt;/code&amp;gt;&lt;br /&gt;
另外，升级 MediaWiki 后通常还需要运行维护脚本：&lt;br /&gt;
 &amp;lt;code&amp;gt;cd /www/wwwroot/mediawiki-1.45.3&lt;br /&gt;
 php maintenance/run.php update&amp;lt;/code&amp;gt;&lt;br /&gt;
升级后也建议再次检查表引擎：&lt;br /&gt;
 &amp;lt;code&amp;gt;SELECT TABLE_NAME, ENGINE&lt;br /&gt;
 FROM information_schema.TABLES&lt;br /&gt;
 WHERE TABLE_SCHEMA = &amp;#039;mediawiki&amp;#039;&lt;br /&gt;
   AND ENGINE = &amp;#039;MyISAM&amp;#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 总结 ==&lt;br /&gt;
这次问题的根本原因不是 MediaWiki 数据库连接失败，也不是用户权限错误，而是：&lt;br /&gt;
 &amp;lt;code&amp;gt;云服务商托管 MySQL 禁用了 MyISAM 存储引擎，而 MediaWiki 安装 SQL 中仍然存在 MyISAM 建表语句。&amp;lt;/code&amp;gt;&lt;br /&gt;
解决思路是：&lt;br /&gt;
&lt;br /&gt;
# 备份 MediaWiki 的 MySQL 建表 SQL 文件；&lt;br /&gt;
# 将 &amp;lt;code&amp;gt;ENGINE = MyISAM&amp;lt;/code&amp;gt; 替换为 &amp;lt;code&amp;gt;ENGINE = InnoDB&amp;lt;/code&amp;gt;；&lt;br /&gt;
# 清空安装失败后残留的数据库；&lt;br /&gt;
# 重新运行 MediaWiki 安装程序；&lt;br /&gt;
# 安装完成后检查所有表是否都是 InnoDB；&lt;br /&gt;
# 后续升级 MediaWiki 时重新检查 SQL 文件，避免 MyISAM 建表语句再次出现。&lt;br /&gt;
&lt;br /&gt;
对于使用 Oracle Cloud MySQL、阿里云 RDS、腾讯云数据库、AWS RDS 等云服务商数据库系统的用户来说，这类问题并不罕见。云数据库通常更偏向稳定、安全和统一管理，因此会禁用一些旧式或不推荐的特性。安装传统 PHP 程序时，如果遇到类似报错，应优先检查程序的建表 SQL 是否使用了云数据库不支持的存储引擎。&lt;/div&gt;</summary>
		<author><name>Doge24190</name></author>
	</entry>
</feed>