Skip-External-Locking – MySQL性能参数详解

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服务器没有使用需要操作的表。如果没有停止服务器,也至少需要先运行

1 mysqladmin flush-tables

命令,否则数据表可能出现异常。

参数使用说明

如果是多服务器环境,希望打开external locking特征,则注释掉这一行即可

1 # skip-external-locking

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

1 skip-external-locking

注意事项

在老版本的MySQL中,此参数的写法为:

1 skip-locking

如果在新版本MySQL配置中依然使用此写法,则可能出现:

[Warning] ‘–skip-locking’ is deprecated and will be removed in a future release. Please use ‘–skip-external-locking’ instead.

时间: 2024-09-28 22:46:38

Skip-External-Locking – MySQL性能参数详解的相关文章

MySQL性能参数详解 - max_connect_errors

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况.max_connect_errors的值与性能并无太大关系. 默认情况下,my.cnf文件中可能没有此行,如果需要设置此数值,手动添加即可. 参数格式 max_connect_errors = 10 修改方法 如果系统是CentOS.Debian等,则配置文件可能位于 /etc/my.cnf .打开此文件 # vi /etc/my.cnf 然后在[mysqld]配置

Max_connect_errors – MySQL性能参数详解

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况.max_connect_errors的值与性能并无太大关系. 默认情况下,my.cnf文件中可能没有此行,如果需要设置此数值,手动添加即可. 参数格式 1 max_connect_errors = 10 修改方法 如果系统是CentOS.Debian等,则配置文件可能位于 /etc/my.cnf .打开此文件 1 [root@www ~]# vi /etc/my.c

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

Mysql 配置参数详解以及优化配置

mysql有以下几种日志: 错误日志:   log-err 查询日志:   log 慢查询日志:  log-slow-queries 更新日志:   log-update 二进制日志: log-bin 要把日志生成在 /var/log 目录下(是系统日志存放的地方,只有 root 账号有写权限),需要 MySQL进程对这个目录有读写权限,一般是不这么做的,也考虑到安全问题,包括 MySQL 本身的数据安全,因为对 MySQL 的所有操作,都会记录到常规查询日志.MySQL的日志就不要用 /var

Yahoo的MySQL性能分析器详解

Yahoo的MySQL性能分析器详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.介绍 Yahoo于前日开源了自己的MySQL性能分析器(MySQL Performance Analyzer),源码托管在GitHub.此性能分析器使用Maven构建,需要JDK 8和Maven 3.0. 此性能分析器项目包含了两个子项目: 1)Java Web应用项目:myperf 2)Jetty Web服务器项目:jetty wrapper 虽然项目在pom

MySQL配置文件参数详解

[client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prompt = mysql(\\[email protected]\h-\R:\\m:\\s [\\d])> #提示当前数据库操作用户名.库名.时间等 default-character-set=utf8 [mysqld] basedir = /usr/local/mysql5_6 datadir = /

MySQL配置文件mysql.ini参数详解

my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.    Client Section用来配置MySQL客户端参数.    要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like '%innodb%'; # 查看innodb相关的运行时参数(

Mysql 配置文件参数详解

#客户端设置,即客户端默认的连接参数 [client] #默认连接端口 port = 3306 #用于本地连接的socket套接字 socket = /data/mysqldata/3306/mysql.sock #编码 default-character-set = utf8mb4 #服务端基本设置 [mysqld] #MySQL监听端口 port = 3307 #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 socket = /data/mysqldata/3307/mys

mysql配置参数详解

查看配置参数可以用下面的命令: show variables like '%innodb%';     #查看innodb相关配置参数 show status  like '%innodb%';           #查看innodb相关的运行时参数 show global status like 'open%tables'; # 查看全局的运行时参数,加上global是对当前mysql服务器中运行的所有数据库实例进行统计.不加global则只对当前数据库实例进行统计. my.cnf参数配置 [