在不同的机器上恢复myisam mysql数据库

mysql没有运行时,我已经复制了web数据库目录(/ var / lib / mysql / data / web /)。 我把这个目录转移到另外一台运行mysql的机器上。

Web数据库的东西是基于myisam的。

我正在考虑如何在不同的服务器上进行恢复。 我想到的战略是以下几点。

  1. 将Web数据库的数据目录复制到新的服务器上。
  2. 在新的服务器上,“创build数据库网站”,它在/ var / lib / mysql / data中创build一个目录
  3. 将步骤中的所有文件复制到2中创build的新目录中。
  4. 反弹mysql

我的问题:如何处理这个新的数据库information_schema?

在问了这个问题六年之后,我不得不复制一个8000万行的MYISAM表到一个备份数据库(它使用了我们整个数据库的80%的磁盘空间)。

我从夜间备份中获取.MYI,.MYD和.FRM文件,并将它们复制到新运行的数据库的文件夹中。 information_schema几乎是立即更新的,所有的表操作都按预期工作(即索引和内容是正确的)。
我将在运行CHECK TABLE和OPTIMIZE TABLE之前将它们发送给安静的退休人员,但是这种备份方法是无痛的。

information_schema是保存所有其他数据库信息的信息数据库。 它是一个内置的虚拟数据库,其唯一目的是提供关于数据库系统本身的信息。 MySQL服务器自动填充information_schema中的表。

参考: http : //kb.siteground.com/article/What_is_the_information_schema_database.html

因此,如果只有myisam表,只要mysql版本相同,就可以复制/移动数据库。

在你的源机器上:

mysqldump -q -u username -p database > database.sql 

将database.sql传输到目标机器,然后执行:

 mysql -u username -p database < database.sql