MariaDB: ERROR 1032 (HY000) at line xx: Can't find record in

久々に謎な問題に出くわしました。MariaDBのバージョンは 10.6.12-1です。

mysqldumpで取ったバックアップをリストアしようとすると表題のエラーが…

どうやら、テーブルがMyISAMで、UNIQUE KEY..USING HASHを使っていて、かつ、mysqldumpを取得する際に--disable-keysを指定(デフォルトで指定される)場合に発生するようです。

対策としては、--skip-disable-keysを指定するか(でもそうするとリストアが遅くなる)か、対象のテーブルの次の行を削除するのが良さそうです:

/*!40000 ALTER TABLE `テーブル名` DISABLE KEYS */;
/*!40000 ALTER TABLE `テーブル名` ENABLE KEYS */;