当前位置:  开发笔记 > 后端 > 正文

MySQL备份:我可以将单个MyISAM表文件复制到具有不同MySQL版本和不同操作系统的另一台服务器吗?

如何解决《MySQL备份:我可以将单个MyISAM表文件复制到具有不同MySQL版本和不同操作系统的另一台服务器吗?》经验,为你挑选了1个好方法。

我的意思是复制单个MyISAM表文件是:(
关闭mysqld并将.frm,.myd和.myi文件从一个数据库文件夹复制到另一个数据库文件夹)


问题:
(a)我可以用这种方式从一个数据库备份MySQL数据库文件夹服务器到不同MySQL版本的另一台服务器?

(b)这个备份文件可以移动到不同的操作系统吗?(例如:debian到centos)



1> J Jorgenson..:

仅具有相同的服务器版本之间的文件级复制MyISAM表:
-
CPU'endian '(SPARC!= x86)- MySQL版本可以升级而无需转换(由于索引结构,5.0.48副本到5.0.52是不好的更改,但5.0.52副本到5.1.45是有效的).

注意竞争条件......当数据库正在读取表格时,您可能正在使用FTP或其他工具访问这些文件.即使是最良性的表读取,也会在.MYI中更新表'计数器'.

我发现以下内容将确保MyISAM表的完整性,以用于任何文件级操作:

LOCK TABLE x WRITE;
FLUSH TABLE x; -- closes all file handles into table by mysql.
   < perform file-level manipulations >
FLUSH TABLE x; -- A 'stat' of the table occurs and info-schema is updated appropriately.
UNLOCK TABLES;

如果你没有锁定写表,mysql可能会在你进行文件级复制/操作时访问它(读或写).

这也是用于允许'myisampack','myisamchk'用于HOT数据库上的表的机制,该数据库甚至禁用外部锁定,而不用担心损坏.

- J Jorgenson -

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有