XAMPPMARIA DB版本更新因“不支持崩溃后的升级后不起作用。

问题描述 投票:0回答:2
我知道这个问题已经在这里被问到很多次,但是提供的解决方案行不通。 简而言之,我试图将玛丽亚DB 10.4.32升级到Xampp上的Maria DB 10.11.10。我之所以这样做,是因为我正在迁移我的WordPress网站,该网站需要一个较新的版本。

我非常精心地遵循了以下问题的答案,

uptatexampp从玛丽亚db 10.1到10.2

,但它们都不为我工作。确切地说,我遵循了15个步骤过程(从XAMPP控制面板中“1。关闭或退出XAMPP服务器”。;以“15。Shutdown”和“ shutdown和Ristart Mariadb(MySQL)”结尾。)。我还尝试了其他解决方案,但无济于事。

我相信我已经在日志文件中确定了问题:“ Innodb:不支持崩溃后升级。重做日志是用Mariadb 10.4.8创建的。您必须启动并关闭Mariadb 10.4或更早的Mariadb 10.4。”

INNODB中也报道了同样的问题:不支持崩溃后的升级,似乎该问题仍未解决;给出的建议是进行“干净的关闭”,这无助于我解决这个问题。另外,不完全确定这种干净的关闭是什么 - 我使用“ stop”在XAMPP控制面板上关闭MySQL,并验证该过程也已终止于任务管理器上。但是,线程上的用户提到,成功关闭后,“关闭完成”应该是error_log上的最后一行(我什至从未在日志中获得此行)。 在进一步的上下文中,对我来说最重要的是要升级到较新的Maria DB版本,XAMPP/数据文件夹中的数据是无关紧要的。

贝洛,是我的日志文件:

2025-03-02 1:13:36 0 [Note] Starting MariaDB 10.11.10-MariaDB source revision 3d0fb150289716ca75cd64d62823cf715ee47646 server_uid qh+RaBUIwnwCqN6tm8Hkjmn4FFc= as process 14100 2025-03-02 1:13:36 0 [Note] InnoDB: Compressed tables use zlib 1.3.1 2025-03-02 1:13:36 0 [Note] InnoDB: Number of transaction pools: 1 2025-03-02 1:13:36 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions 2025-03-02 1:13:36 0 [Note] InnoDB: Initializing buffer pool, total size = 16.000MiB, chunk size = 1.000MiB 2025-03-02 1:13:36 0 [Note] InnoDB: Completed initialization of buffer pool 2025-03-02 1:13:36 0 [Note] InnoDB: File system buffers for log disabled (block size=4096 bytes) 2025-03-02 1:13:36 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.4.8. You must start up and shut down MariaDB 10.4 or earlier. 2025-03-02 1:13:36 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2025-03-02 1:13:36 0 [Note] InnoDB: Starting shutdown... 2025-03-02 1:13:37 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2025-03-02 1:13:37 0 [Note] Plugin 'FEEDBACK' is disabled. 2025-03-02 1:13:37 0 [Note] mysqld.exe: SSPI: using principal name 'localhost', mech 'Negotiate' 2025-03-02 1:13:37 0 [ERROR] Unknown/unsupported storage engine: InnoDB 2025-03-02 1:13:37 0 [ERROR] Aborting

错误消息的字面意思是读取的。它不只是一些互联网搜索文本。

“您必须启动并关闭Mariadb 10.4或更早。”

一种方法是在Datadir上运行MariadB容器。

docker run --rm \ --volume {the mariadb datadir}:/var/lib/mysql \ --env MARIADB_AUTO_UPGRADE=1 \ mariadb:10.11
在启动之后。执行干净的关闭。它应该将最后一个容器日志完成为“关闭完成”。之后,在Xampp中开始Mariadb。
mariadb xampp
2个回答
1
投票

错误消息远非直观...

正在发生的事情:

whir使用XAMPP控制面板,或者可能是从命令行调用mysql_stop.bat的晚上,XAMPP只是杀死了MySQL(Mariadb)进程。 换句话说,它没有启动适当的关闭过程。 实际上就像崩溃一样。 您可以在mysql_stop.bat文件中看到此信息:

echo Mysql shutdowm ... cmd.exe /C start "" /MIN call "@@BITROCK_INSTALLDIR@@\\killprocess.bat" "mysqld.exe" 

您以前从未注意到这一点的原因,如其他答案中所述,MySQL是耐用的,并试图在杀戮过程之后再次启动它,效果很好。 在重新开始之前,它不会打扰检查崩溃。

显然,自动升级过程确实需要检查,因此需要正确关闭。

启动正确关闭过程的方法实际上是打开MySQL(Mariadb)控制台(带有MariadB版本的较旧版本),并在提示中执行命令“关闭”,例如:

0
投票

MariaDB [(none)]> shutdown

execit mySQL控制台,切换到新版本的MariadB,然后重新开始。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.