mysql 配置优化

mysql 优化

mysql> SHOW VARIABLES LIKE '%innodb_flush_log_at_trx_commit%';
+--------------------------------+-------+
| Variable_name                  | Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 1     |
+--------------------------------+-------+
1 row in set (0.00 sec)

此值 有三种类型 默认 1  (可选 2 和0)

 

set GLOBAL innodb_flush_log_at_trx_commit=0;

 

 

 

默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电 池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。 

【一般改为2】

 

----------------------------------------------------------------------

SELECT @@GLOBAL.sql_mode;

如果需要在数据库 插入 更新的时候 自动截断过长的数据 可用下面的

SET @@GLOBAL.sql_mode="STRICT_TRANS_TABLES";

 

 

posted on 2014-06-23 15:52  Love I Smile  阅读(127)  评论(0编辑  收藏  举报