我在mysql目录中有一堆MyISAM文件(MYD,MYI,FRM),而在另一个目录中有较新的版本。 如何在不停止mysql服务器的情况下用“较新的”替换“旧的”?

更新:此问题在这里得到回答: https : //serverfault.com/questions/340823/replace-myisam-files-without-stopping-mysql

===============>>#1 票数:1

1)备份原始文件(出于安全原因)

2)用mysql数据文件夹中的新文件(frm,MYI和MYD)替换旧文件。 在将它们移入数据文件夹之前,应将它们复制到同一硬盘/装载/分区的临时文件夹中,以便快速完成复制过程。

3)在数据库上执行“刷新表”。

现在您应该正在运行新数据。

===============>>#2 票数:0

我猜唯一的方法是使用实​​际的SQL数据,而不是存储它们的文件。 所以:

  • 将“新”文件放在另一台服务器的目录中,重新启动mysql,对所需数据库进行SQL转储
  • 将SQL转储导入到“主”服务器。 根据存在/不存在的数据,您可以直接将其导入,也可以将它们导入其他数据库,然后将其重命名为实际名称。

===============>>#3 票数:0

这适用于将表复制到db文件夹之外,不确定是否可以让您转到其他方向:

http://dev.mysql.com/doc/refman/5.0/en/mysqlhotcopy.html

  ask by georg translate from so

未解决问题?本站智能推荐:

1回复

Mysql(myisam):“等待锁定”替换阻止所有选择

我有一个MyISAM表(我不能将其更改为使用InnoDb,请不要建议这样做),它很大(〜20GB),我有一个工作人员定期转储该表(我使用的是- -skip-lock-tables选项) 在转储过程中(大约需要5分钟),可以正确运行并发选择,这与我期望的一样。 当我在转储过程中进行“ RE
4回复

MySQL查询永不停止

我有一个3列的简单表格 这是表数据 这是我正在运行的查询 此查询不会停止处理,是否有更好的方法来处理此查询?
2回复

MySQL:减少MyISAM表的ibdata文件大小

我的问题实际上与这一问题非常相似,并且对于InnoDB Engine表的情况也包括一个很好的答案: https://dba.stackexchange.com/questions/8982/is-there-any-best-way-to-reduce-the-size-of-ibdata
1回复

mysql错误:13未找到MyISAM表文件

我有一组文件(每个文件约20MB)需要插入到mysql的表中。 对于所有文件(单线程),循环插入。 这通常可以正常工作,但是有时我会遇到以下异常:在File '.table.MYD' not found (Errcode: 13)一个文件中File '.table.MYD' not foun
2回复

MySQL MyISAM表文件现在太大

我有一个处理中等Blob数据的MySQL MyISAM表。 现在达到了1.09TB。 我现在很担心。 可以将此表拆分为多个文件吗? File.MYD01,File.MYD01等... 或者,如果您有更好的主意选择替代方法,不妨听听。 (从评论中添加:)
2回复

MySQL - InnoDB与MyISAM

我昨天阅读了以下文章( http://blogs.sitepoint.com/2010/11/19/mysql-mistakes-php-developers/ ),它写了以下内容: MySQL有许多数据库引擎,但你最有可能遇到MyISAM和InnoDB。 默认情况下使用MyI
1回复

mysql myisam更新

我们将MySQL与MyIsam引擎一起使用,并且存在这样的情况,我们需要每天更新大量的行(数百万),而用户仍然可以访问数据库。 我们有来自美国,英国,印度,中国的不同时区的用户。 用户首次注册时,将从第三方源下载数据。 所有用户共享同一组表,但是它们的数据不重叠,即,没有用户将与另一个
2回复

恢复MySQL表(MyISAM和InnoDB)所需的最小文件集

恢复MyISAM表时,唯一需要的文件是数据文件( tablename.MYD )-其余文件(索引文件tablename.MYI和tablename.frm )可以使用REPAIR TABLE从数据文件中重新创建。 假设我使用的是InnoDB(具有“ innodb_file_per_tabl
1回复

通过MYSQL结果集递增而不停止

我正在尝试通过表中的结果集进行递增。 我尝试使用增量显示接下来的三个结果。 一切正常。 例如; 当前= 5。 然后显示下三个:6,7,8 它还可以显示前三个:4、3、2 当我达到最后几个结果或最小几个结果时,问题就来了。 目前将停止; 当前
2回复

在MySQL中将MyISAM转换为InnoDB

我有一个最初由MyISAM设置的模式。 我在未定义为外键的表之间有关系,但是我会将该表与联接等链接。显然,没有级联删除/更新等规则。 我使用InnoDB重新创建了相同的数据库模式,但是这次我将外键放入create语句中,并定义了on update / delete规则。 我正在使用