我做了一件非常愚蠢的事..。我没有意识到安装mariaDB会使用apt卸载MySQL5.7。(使用Ubuntu 16.04)。
所以现在我正试图恢复我的数据。
到目前为止,我已经阅读了许多指南,并尝试了几件事。我认为这让我陷入了一个糟糕的境地,因为这个建议似乎是非常具体的版本。
我最成功的尝试是重新安装MaraiDB。2)将*文件从旧sql目录复制到新建目录。3)将数据库目录myDatabase/从旧sql目录复制到新目录。3)运行mysql_secure_installation 4)配置我的用户等等。
除了我不能运行sql查询之外,这是可行的。
SELECT * FROM myDatabase.tableOne;我也能得到:
SQL Error [1932] [42S02]: (conn:56) Table 'myDatabase.tableOne' doesn't exist in engine或
SQL Error [1146] [42S02]: (conn:56) Table 'myDatabase.tableTwos' 似乎所有的表都给出了这两个错误中的一个。
到目前为止,我已经读到mysqlcheck可以解决这个问题。
如果我跑了
/var/lib/mysql$ mysqlcheck myDatabase
myDatabase.tableOne
Error : Table 'myDatabase.tableOne' doesn't exist in engine
status : Operation failed我找不到解决这个问题的办法。虽然我从一开始就走错了路。谢谢你的帮助。
发布于 2018-09-18 18:50:19
在做任何其他事情之前,我建议您在/etc上备份旧的mysql数据目录和配置文件。
然后,我将检查您安装的特定MariaDB版本。根据MariaDB兼容性图,您需要MariaDB 10.2从MySQL 5.7迁移。一旦确定安装了正确的版本,就应该参考迁移文档:
https://mariadb.com/kb/en/library/migrating-to-mariadb/
或者,您可以卸载MariaDB并再次安装MySQL,只需检查是否正在安装最新可用的5.7版本。为此,您可以从mysql下载下载一个deb包并手动安装它,或者设置mysql存储库:https://dev.mysql.com/downloads/repo/apt/。
发布于 2020-10-19 13:16:39
错误显示,您正在使用旧的ibdata文件。我建议卸载mariadb并重新安装mysql。那就采取健康的后援。
并重新安装mariadb并恢复备份的数据。
https://dba.stackexchange.com/questions/217963
复制相似问题