繁体   English   中英

MySQL - my.cnf中的跳过锁定有什么作用?

[英]MySQL - what does skip-locking in my.cnf do?

我在RHEL5上使用MySQL 5.0.67并将我的配置基于my-huge.cnf。

我在MySQL手册中找不到配置文件中出现的'skip-locking'行。

是应该用'skip_external_locking'代替,还是应该完全删除该行,因为现在是默认行。

用于跳过外部锁定的MySQL手册

谢谢。

请参阅http://dev.mysql.com/doc/refman/5.0/en/external-locking.html

引用:

如果运行多个使用相同数据库目录的服务器(不推荐),则每个服务器都必须启用外部锁定。

它实际上只与访问相同数据的多个进程所带来的危险有关。 在许多DBMS情况下,您希望在执行操作之前锁定表/行,然后解锁。 这是为了防止可能的数据损坏。

编辑:请参阅http://dev.mysql.com/doc/refman/4.1/en/news-4-0-3.html引用

重命名--skip-locking to --skip-external-locking。

任何不遵循@Jonathan Fingland提供的链接的人的附加说明:
8.7.4。 外部锁定

此选项仅适用于MyISAM表。

正如Richard指出的那样,默认情况下禁用外部锁定。 如果使用myisamchk进行写入操作或使用myisampack打包表,则需要启用外部锁定。

来自文档:

如果使用myisamchk对MyISAM表执行表维护操作,则必须确保服务器未运行,或者服务器已启用外部锁定,以便根据需要锁定表文件以与myisamchk协调以访问表。 使用myisampack打包MyISAM表也是如此。

如果使用myisamchk进行写操作(例如修复或优化表),或者使用myisampack打包表,则必须始终确保mysqld服务器不使用该表。 如果你不停止mysqld,你至少应该在运行myisamchk之前做一个mysqladmin flush-tables。 如果服务器和myisamchk同时访问表,您的表可能会损坏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM