首先,我的 MySQL DB 和 Linux 技能不太好。我花了几天时间寻找解决方案并尝试了几种方法。以下方法是我用得最远的一种。
我安装 MariaDB 的 SD 卡已损坏。但是,我能够恢复 /var/lib/mysql 目录。
我设置了一个新的 Ubuntu 安装和一个干净的 MySQL 数据库。在我将恢复的数据库目录复制到新文件夹(没有 ibdata)并重新启动数据库后,我可以看到这些表,但收到错误“1146 表不存在”。
然后我还复制了文件 ibdata 并更改了权限(chmod、chown、chgrp)。但在那之后我不能再启动 MySQL 服务了。我收到以下错误:
[注意] InnoDB:如果mysqld执行用户被授权,页面清理线程优先级可以改变。请参阅 setpriority() 的手册页。
[错误] InnoDB:无法在只读模式下创建日志文件
[错误] InnoDB:插件初始化因错误只读事务而中止
[错误] 插件“InnoDB”初始化函数返回错误。
[错误] 插件“InnoDB”注册为存储引擎失败。
[错误] 无法初始化内置插件。
[错误] 中止
我试过 innodb_force_recovery 0-6 没有成功。
有没有人提示我错误的含义以及如何恢复我的数据库?