MySQL InnoDB从备份中恢复

时间:2012-12-06 19:08:44

标签: database innodb recovery windows-server mysql

最近我的服务器崩溃了,但幸运的是我完全备份了服务器的驱动器。我的服务器运行的是Windows Server 2008和Plesk 9.5。

为了恢复我的数据库,我按照说明操作:替换所有ib_logfile0ib_logfile1ibdata1并添加.frm s / .MYI / .MYD

文件已被替换,mysql重新启动。我有以下错误:

InnoDB: Error: log file .\ib_logfile0 is of different size 0 10489229 bytes
InnoDB: than specified in the .cnf file 0 10485760 bytes!
121206 19:53:26 [ERROR] Default storage engine (InnoDB) is not available
121206 19:53:26 [ERROR] Aborting
121206 19:53:26 [Note] C:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Shutdown complete

my.ini文件有以下选项:

[client]
port=3306

[mysql]
default-character-set=latin1

[mysqld]
port=3306
basedir="C:/Program Files (x86)/Parallels/Plesk/Databases/MySQL/"
datadir="C:/Program Files (x86)/Parallels/Plesk/Databases/MySQL/Data/"
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=3M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=10489229
innodb_thread_concurrency=10

请帮助我,自上周以来我一直在尝试不同的方法,并且花费了大约25个小时,我们将竭诚欢迎您的帮助!

对不起我的英语。

1 个答案:

答案 0 :(得分:1)

InnoDB日志文件具有不同但相似的大小(读取错误输出!)。 InnoDB不会以这种差异开始。你的选择:

  • 编辑my.cnf文件以匹配当前(报告的)大小。如果日志文件以某种方式损坏,这是一件坏事。
  • 删除iblog文件,让InnoDB在MySQL开始时重新创建它们。如果在运行备份时拍摄快照,则可能会丢失一些数据。