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

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] ‘Cskip-locking' is deprecated and will be removed in a future release. Please use ‘Cskip-external-locking' instead.
错误

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...