database - MySQL InnoDB 从备份中恢复

标签 database innodb recovery windows-server mysql

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

为了恢复我的数据库,我按照说明进行操作:替换所有 ib_logfile0ib_logfile1ibdata1 并添加 。 frms/.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 个小时,我们将竭诚欢迎您的帮助!

对不起我的英语。

最佳答案

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

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

关于database - MySQL InnoDB 从备份中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13750741/

相关文章:

database - 要读取 Excel,我们可以使用 Spring 批处理吗?

python - 优化mysql多次更新

python - 恢复未保存的 jupyter notebook

mysql - 删除数据库中没有引用的条目

database - Cassandra - 合理的最大表数是多少?

mysql - 在mysql中扩展innodb_data_file_path

php - 生成数据库 MyISAM Doctrine 2

git - 从 Git 对象恢复文件

MongoDB:***在将独立数据集转换为副本集期间,fassert() 失败错误后中止

ios - 我怎样才能只从 firebase 获取 key ?