gpt4 book ai didi

MySQL 备份 : Can I copying individual MyISAM table files to another server with different MySQL version and different OS?

转载 作者:IT王子 更新时间:2023-10-29 00:57:03 25 4
gpt4 key购买 nike

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


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

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

最佳答案

仅在具有相同版本的服务器之间进行文件级复制 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 可能会在你进行文件级复制/操作时访问它(读或写)。

这也是用于允许 HOT 数据库上的表使用“myisampack”、“myisamchk”的相同机制,该数据库甚至禁用了外部锁定,而无需担心损坏。

-- 乔根森 --

关于MySQL 备份 : Can I copying individual MyISAM table files to another server with different MySQL version and different OS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1960845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com