mysql核心参数_MySQL重要参数介绍

1.  Skip-External-Locking :

即“跳过外部锁定”,据MySQL开发网站的官方解释,External-locking用于多进程条件下为MyISAM数据表进行锁定。

如果你有多台服务器使用同一个数据库目录(不建议),那么每台服务器都必须开启external locking;

当外部锁定(external-locking)起作用时,每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。由于服务器访问数据表时经常需要等待解锁,因此在单服务器环境下external external locking会让MySQL性能下降。所以在很多Linux发行版的源中,MySQL配置文件中默认使用了skip-external-locking来避免external locking。

当使用了skip-external-locking后,为了使用MyISAMChk检查数据库或者修复、优化表,你必须保证在此过程中MySQL服务器没有使用需要操作的表。如果没有停止服务器,也至少需要先运行mysqladmin flush-tables  。

It is possible to set the Event Scheduler to DISABLED only at server startup. If event_scheduler is ON or OFF,

you cannot set it to DISABLED at runtime. Also, if the Event Scheduler is set to DISABLED at startup,

you cannot change the value of event_scheduler at runtime.

Starting the MySQL server with the --skip-grant-tables option causes event_scheduler to be set to DISABLED,

overriding any other value set either on the command line or in the my.cnf or my.ini file (Bug #26807).

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

From MySQL 4.0 on, external locking is disabled by default. (从4.0开始,external locking 被默认disabled)

2. Event Scheduler :‍‍‍‍

事件调度器是定时触发执行的,在这个角度上也可以称作是;临时的触发器;。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的;事件调度器;。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW  PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。

实验操作:

show variables like 'event_scheduler';

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| event_scheduler | OFF    |

+-----------------+-------+

SET GLOBAL event_scheduler = ON;

show processlist ;

delimiter //

create procedure `Slave_Monitor`()

begin

SELECT VARIABLE_VALUE INTO @SLAVE_STATUS

FROM information_schema.GLOBAL_STATUS

WHERE VARIABLE_NAME='SLAVE_RUNNING';

IF ('ON' != @SLAVE_STATUS) THEN

SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

START SLAVE;

END IF;‍

end; //

CREATE EVENT IF NOT EXISTS `Slave_Monitor`

ON SCHEDULE EVERY 5 SECOND

ON COMPLETION PRESERVE

DO

CALL Slave_Monitor();

show processlist ;

3. innodb_locks_unsafe_for_binlog

By default, the value of innodb_locks_unsafe_for_binlog is 0 (disabled), which means that gap locking is enabled: InnoDB uses next-key locks for searches and index scans.

To enable the variable, set it to 1. This causes gap locking to be disabled: InnoDB uses only index-record locks for searches and index scans.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值