主从搭建innobackupex恢复从库报错Unable to open undo tablespace 'undologundo001'

近日,用innobackupex重新搭建从库时报Unable to open undo tablespace 'undologundo001'错误

下面是解决的过程:

启动从库时报错如下

2025-01-16T14:43:16.367875+08:00 0 [ERROR] InnoDB: Unable to open undo tablespace 'undolog/undo001'.

2025-01-16T14:43:16.367904+08:00 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error

2025-01-16T14:43:16.969579+08:00 0 [ERROR] Plugin 'InnoDB' init function returned error.

2025-01-16T14:43:16.969592+08:00 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2025-01-16T14:43:16.969602+08:00 0 [ERROR] Failed to initialize builtin plugins.

2025-01-16T14:43:16.969605+08:00 0 [ERROR] Aborting

--查看备库确实不存在undo表空间,且主库存在的。

--查看--apply-log恢复日志存在恢复表空间

-rw-r----- 1 mysql mysql 7295277 Jan 10 06:06 recover2_3309.log

[mysql@logdb04 datadump]$ cat recover3309.log|grep undo

InnoDB: Opened 95 undo tablespaces

InnoDB: 95 undo tablespaces made active

InnoDB: Opened 95 undo tablespaces

InnoDB: 95 undo tablespaces made active

--查看--copy-back把undo文件恢复到备份文件目录下了

[mysql@logdb04 datadump]$ cat recover2_3309.log|grep undo

250108 15:36:10 [01] Copying undo001 to undolog/undo001

250108 15:36:21 [01] Copying undo002 to undolog/undo002

250108 15:36:27 [01] Copying undo003 to undolog/undo003

250108 15:36:45 [01] Copying undo004 to undolog/undo004

250108 15:36:47 [01] Copying undo005 to undolog/undo005

250108 15:36:47 [01] Copying undo006 to undolog/undo006

250108 15:36:47 [01] Copying undo007 to undolog/undo007

250108 15:36:47 [01] Copying undo008 to undolog/undo008

250108 15:36:48 [01] Copying undo009 to undolog/undo009

250108 15:36:48 [01] Copying undo010 to undolog/undo010

250108 15:36:48 [01] Copying undo011 to undolog/undo011

250108 15:36:48 [01] Copying undo012 to undolog/undo012

250108 15:36:48 [01] Copying undo013 to undolog/undo013

250108 15:36:48 [01] Copying undo014 to undolog/undo014

250108 15:36:48 [01] Copying undo015 to undolog/undo015

250108 15:36:48 [01] Copying undo016 to undolog/undo016

250108 15:36:49 [01] Copying undo017 to undolog/undo017

250108 15:36:49 [01] Copying undo018 to undolog/undo018

250108 15:36:49 [01] Copying undo019 to undolog/undo019

250108 15:36:49 [01] Copying undo020 to undolog/undo020

250108 15:36:49 [01] Copying undo021 to undolog/undo021

250108 15:36:49 [01] Copying undo022 to undolog/undo022

250108 15:36:49 [01] Copying undo023 to undolog/undo023

250108 15:36:50 [01] Copying undo024 to undolog/undo024

250108 15:36:50 [01] Copying undo025 to undolog/undo025

250108 15:36:50 [01] Copying undo026 to undolog/undo026

250108 15:36:50 [01] Copying undo027 to undolog/undo027

250108 15:36:50 [01] Copying undo028 to undolog/undo028

250108 15:36:51 [01] Copying undo029 to undolog/undo029

250108 15:39:24 [01] Copying undo093 to undolog/undo093

250108 15:39:24 [01] Copying undo094 to undolog/undo094

250108 15:39:24 [01] Copying undo095 to undolog/undo095

--查看配置文件没有指定undo表空间路径

[mysql@logdb04 data]$ cat /data/mysql3309/config/my_3309.cnf|grep undo

innodb_max_undo_log_size = 4G

innodb_undo_directory = undolog

innodb_undo_tablespaces = 95

innodb_undo_logs = 128

--通过查询备份文件目录发现多了个undo目录,但为空。说明undo空间没有真正恢复。

后面修改从库innodb_undo_directory参数指定具体路径后再次拉起恢复从库,需删除掉data目录。先apply-log,后--copy-back

[mysql@logdb04 data]$ cat /data/mysql3309/config/my_3309.cnf|grep undo

innodb_max_undo_log_size = 4G

innodb_undo_directory = /data/mysql3309/data/undolog

innodb_undo_tablespaces = 95

innodb_undo_logs = 128

从库能正常起来,继续进行搭建主从同步。

posted @ 2025-03-13 15:26  飞浪v1  阅读(102)  评论(0)    收藏  举报