MariaDB 数据库损坏:引擎中不存在表 [英] Database corruption with MariaDB : Table doesn't exist in engine

查看:29
本文介绍了MariaDB 数据库损坏:引擎中不存在表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个环境设置中,使用 MariaDB 10.0.12-MariaDB Homebrew

I'm in an environement setup, running OSX with MariaDB 10.0.12-MariaDB Homebrew

我搞砸了安装,所以我从我的设置中完全删除了 MySQL 和 MariaDB,然后重新开始.

I've screwed up the installation so I did completely removed MySQL and MariaDB from my setup and started again.

安装完 MariaDB 后,我通过生产服务器的 DB Dump 重新导入了我的数据库 (innoDB).它工作得很好.重新启动后,第二天,我无法再访问数据库:

After finishing installing MariaDB, I've reimported my databases (innoDB) via a DB Dump from the production server. It worked fine. After a reboot, the day after, I can no longer access to the databases :

引擎中不存在表my.table"

这是什么原因造成的,解决方法是什么?我确实看到了我的数据库的结构,但是当我尝试访问它时,它给了我这个错误消息.

What's causing this and what's the solution ? I do see the structure of my database, but when I try to access it, it gives me this error message.

我确实尝试过 mysql-upgrade --force 并删除 rm ib_logfile1 ib_logfile0

I did try mysql-upgrade --force and deleting rm ib_logfile1 ib_logfile0

这里的数据丢失不是问题,问题是我每次重启都不能花30分钟重新安装每个数据库.

The data loss is not a problem here, the problem is that I can't spend 30 minutes on re-installing each database each time I do a reboot.

这里有一些日志:

140730  9:24:13 [Note] Server socket created on IP: '127.0.0.1'.
140730  9:24:14 [Note] Event Scheduler: Loaded 0 events
140730  9:24:14 [Warning] InnoDB: Cannot open table mysql/gtid_slave_pos from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
140730  9:24:14 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1932: Table 'mysql.gtid_slave_pos' doesn't exist in engine
140730  9:24:14 [Note] /usr/local/Cellar/mariadb/10.0.12/bin/mysqld: ready for connections.
Version: '10.0.12-MariaDB'  socket: '/tmp/mysql.sock'  port: 3306  Homebrew
140730 16:26:28 [Warning] InnoDB: Cannot open table db/site from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.

推荐答案

有人删除了 InnoDB 保存字典的 ibdata1 文件.绝对不是 MySQL 做的

Something has deleted your ibdata1 file where InnoDB keeps the dictionary. Definitely it's not MySQL who does

这篇关于MariaDB 数据库损坏:引擎中不存在表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆