MySQL性能参数详解之Skip-External-Locking参数介绍

(编辑:jimmy 日期: 2025/1/7 浏览:2)

MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即“跳过外部锁定”。根据MySQL开发网站的官方解释,External-locking用于多进程条件下为MyISAM数据表进行锁定。
如果你有多台服务器使用同一个数据库目录(不建议),那么每台服务器都必须开启external locking;
 
参数解释

当外部锁定(external-locking)起作用时,每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。由于服务器访问数据表时经常需要等待解锁,因此在单服务器环境下external locking会让MySQL性能下降。所以在很多Linux发行版的源中,MySQL配置文件中默认使用了skip-external-locking来避免external locking。
当使用了skip-external-locking后,为了使用MyISAMChk检查数据库或者修复、优化表,你必须保证在此过程中MySQL服务器没有使用需要操作的表。如果没有停止服务器,也至少需要先运行

复制代码 代码如下:
mysqladmin flush-tables

命令,否则数据表可能出现异常。
 
参数使用说明
如果是多服务器环境,希望打开external locking特征,则注释掉这一行即可
复制代码 代码如下:
# skip-external-locking

如果是单服务器环境,则将其禁用即可,使用如下语句

复制代码 代码如下:
skip-external-locking

注意事项
在老版本的MySQL中,此参数的写法为:

复制代码 代码如下:
skip-locking

如果在新版本MySQL配置中依然使用此写法,则可能出现:
[Warning] ‘–skip-locking' is deprecated and will be removed in a future release. Please use ‘–skip-external-locking' instead.
错误。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?