情况有点棘手。在 Ubuntu 12.04 上运行 MySQL 5.5。为了给我们的内部站点添加一些功能,我安装了 Kaltura。安装后,我现有的 MySQL 数据库似乎丢失了所有数据。数据库仍然列出,但没有表。当然,5 个月前应该安装的备份软件并没有安装,所以在解决这个问题后,我拥有的最新备份是整个 /var/lib/mysql 文件夹的副本。根据 ibdata1 文件的大小,我相信所有内容都还在那里。
我尝试过几种恢复建议,但都不起作用。最后,mysql 无法启动,所以我重新安装了它并复制了我已有的文件夹,但 mysql 服务仍然无法启动。我真的不知道接下来该怎么办。(是的,我知道,备份,备份,备份)。任何帮助都将不胜感激。
谢谢
由@RolandoMySQLDBA 编辑 2013-01-11 11:44 EDT
请运行此程序并粘贴至此行下方
请求 #1:ls -l /var/lib/mysql
请求 #2:cat /etc/my.cnf | grep innodb
请求 #3:如果你可以登录mysql,运行show engines;
回复@RolandoMySQLDBA
请求 #1:ls -l /var/lib/mysql
drwx------ 2 mysql mysql 4096 Jan 11 11:34 asdf
-rw-r--r-- 1 mysql mysql 0 Jan 11 11:34 debian-5.1.flag
-rw-r--r-- 1 mysql mysql 0 Jan 11 11:34 debian-5.5.flag
-rw-r----- 1 mysql mysql 18874368 Jan 11 11:34 ibdata1
-rw-r----- 1 mysql mysql 220200960 Jan 11 11:34 ibdata1.bak
-rw-r--r-- 1 mysql mysql 220200960 Jan 11 11:34 ibdata1.recovery
-rw-r----- 1 mysql mysql 5242880 Jan 11 11:35 ib_logfile0
-rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile0.bak
-rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile1
-rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile1.bak
drwx------ 2 mysql mysql 16384 Jan 11 11:34 kaltura
drwx------ 2 mysql mysql 167936 Jan 11 11:34 kalturadw
drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturadw_bisources
drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturadw_ds
drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturalog
drwx------ 2 mysql mysql 4096 Jan 11 11:34 kaltura_sphinx_log
drwx------ 2 mysql mysql 4096 Jan 11 11:34 mysql
-rw-r----- 1 mysql mysql 6 Jan 11 11:34 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 Jan 11 11:34 performance_schema
drwx------ 2 mysql mysql 4096 Jan 11 11:34 phpmyadmin
-rw-r----- 1 mysql mysql 4 Jan 11 11:34 ptl-cloud.pid
drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlEquipmentTracker
drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlTestDB
drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlTestDBArchive1
drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptltestdbrec
drwx------ 2 mysql mysql 4096 Jan 11 11:34 rawr
drwx------ 2 mysql mysql 4096 Jan 11 11:34 test
drwx------ 2 mysql mysql 4096 Jan 11 11:34 testing
drwx------ 2 mysql mysql 4096 Jan 11 11:34 VirtualStripChart
请求 #2:cat /etc/my.cnf | grep innodb
cat: /etc/my.cnf: No such file or directory
我运行了cat /etc/mysql/my.cnf | grep innodb
它,运行良好,没有任何反馈
请求 #3:如果你可以登录mysql,运行show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
答案1
我找到了问题所在。这是由于使用了错误的 ibdata1 文件,而且我还错误地将文件复制到了 /var/lib/mysql/mysql 文件夹中。修复这两个问题后,一切都恢复正常了。
我不明白的是为什么事情一开始就出错了?我安装了 Kaltura,事情就出错了,据我所知,最后只是将文件复制并粘贴回 mysql 目录。所以就像我什么都没做一样。
嗯嗯......
但还是要感谢大家的帮助!这里的评论和其他相关问题的答案让我对 InnoDB、备份和文件结构有了更好的理解。谢谢!
-担