当mysql没有运行时,我已经复制了web数据库目录(/ var / lib / mysql / data / web /)。 我把这个目录转移到另外一台运行mysql的机器上。
Web数据库的东西是基于myisam的。
我正在考虑如何在不同的服务器上进行恢复。 我想到的战略是以下几点。
我的问题:如何处理这个新的数据库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