我以前保存了 /var/lib/mysql/ddms 目录的副本(“ddms”是架构名称)。现在我通过运行在新安装的 Ubuntu 10.04.3 LTS 上安装了一个新的 MySQL apt-get install mysql-server
,我相信安装了 5.1 版。在我复制 /var/lib/mysql 下的 ddms 目录后,它的一些表工作正常,这些表具有一组关联的三个文件:一个 .frm 文件、一个 .MYD 文件和一个 .MYI 文件。
但是,有两个表具有不同的文件集:一个 .frm 文件和一个 .ibd 文件。这两个表没有显示在 phpMyAdmin 的表列表中。当我查看错误日志时,它说:
[ERROR] Cannot find or open table ddms/dictionary_item from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files …
Run Code Online (Sandbox Code Playgroud) 我的 WAMP 目录不小心被另一个用户删除了。MySQL 中只有数据文件夹可用。并且,只有数据库文件夹(“\bin\mysql\mysql5.6.12\data\”中带有数据库名称的文件夹)可用。“\bin\mysql\mysql5.6.12\data\”根目录下包括“ ibdata1 ”在内的所有文件也被删除。
数据库文件夹仅包含以下扩展名的文件。
*.frm,*.ibd
和“db.opt”文件。
如何恢复数据库?
我已经尝试恢复 bdata1。但是,无法收回。而且,一些数据库也包含 MYISAM。
我从谷歌搜索中学到的东西:
使用 MyISAM 表,您可以简单地复制 FRM、MYD 和 MYI 文件。在我试图恢复的数据库的文件夹中,只有 FRM 文件和一个“db.opt”文件,所以它们不能是 MyISAM 表。
情况:
我的电脑崩溃了,但数据还在硬盘上。MySQL 5.5.8 服务器与 WAMP 一起安装在崩溃的计算机上。
我试过复制整个数据文件夹,但 MySQL 只创建一个空白数据库 - 没有表。
我希望恢复的每个表都有一个 FRM 文件。但是,它们不是可读的文本文件。有没有办法从这些文件中恢复表结构?
这篇文章/sf/answers/538208191/表明结构实际上在那些文件中,但没有提供检索方法。
非常感谢 - 我已经尝试了我能想到的一切。
我正在接管一个旧数据库,在从我的转储中进行恢复测试时,我发现一个表被错误地备份,表定义被截断。
查看实时数据库,我发现了一个名称中带有特殊字符的列名。即列名是Località。
我当前的 mysql 转储产生以下内容:
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `contabilita_banche` (
`ID_Banca` int(6) unsigned NOT NULL default '0',
`Descrizione` varchar(70) default NULL,
`Località;
/*!40101 SET character_set_client = @saved_cs_client */;
Run Code Online (Sandbox Code Playgroud)
第一个问题是表并没有到此结束,Località后面还有其他字段,所以结构转储不完整。除此之外,转储不会引发任何错误,并且数据会正确转储到最后。
我尝试了几个命令,都没有成功:
mysqldump -r /tmp/cbnew2.sql --default-character-set=latin1 --no-tablespaces --skip-lock-tables --quick -u root -p -h host Dbname contabilita_banche
mysqldump -r /tmp/cbnew2.sql --default-character-set=utf8 --no-tablespaces --skip-lock-tables --quick -u root -p -h host Dbname contabilita_banche
Run Code Online (Sandbox Code Playgroud)
服务器版本是 …
我有一个损坏的表,无法删除它来恢复它。如何从数据库中删除该表?
当我尝试在表上查询时,这就是我得到的......
mysql> SELECT * FROM tbl_company LIMIT 10;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: us_businessdb
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.soc k' (111)
ERROR:
Can't connect to the server
Run Code Online (Sandbox Code Playgroud)
这是错误日志;
2017-08-10T16:11:28.492290Z 4 [ERROR] InnoDB: Trying to access page number 3 in space 35, space name us_businessdb/tbl_company, which is …
Run Code Online (Sandbox Code Playgroud)