MySQL数据库优化经验详谈(2)

来源:asp之家 时间:2009-12-15 10:34:00 


如果你不需要记录2进制log 就把这个功能关掉,注意关掉以后就不能恢复出问题前的数据了,需要您手动备份,二进制日志包含所有更新数据的语句,其目的是在恢复数据库时用它来把数据尽可能恢复到最后的状态。另外,如果做同步复制( Replication )的话,也需要使用二进制日志传送修改情况。

log_bin指定日志文件,如果不提供文件名,MySQL将自己产生缺省文件名。MySQL会在文件名后面自动添加数字引,每次启动服务时,都会重新生成一个新的二进制文件。

此外,使用log-bin-index可以指定索引文件;使用binlog-do-db可以指定记录的数据库;使用binlog-ignore-db可以指定不记录的数据库。注意的是:binlog-do-db和binlog-ignore-db一次只指定一个数据库,指定多个数据库需要多个语句。而且,MySQL会将所有的数据库名称改成小写,在指定数据库时必须全部使用小写名字,否则不会起作用。

关掉这个功能只需要在他前面加上#号

#log-bin

开启慢查询日志( slow query log ) 慢查询日志对于跟踪有问题的查询非常有用。它记录所有查过long_query_time的查询,如果需要,还可以记录不使用索引的记录。下面是一个慢查询日志的例子:

开启慢查询日志,需要设置参数log_slow_queries、long_query_times、log-queries-not-using-indexes。

log_slow_queries指定日志文件,如果不提供文件名,MySQL将自己产生缺省文件名。

long_query_times指定慢查询的阈值,缺省是10秒。

log-queries-not-using-indexes是4.1.0以后引入的参数,它指示记录不使用索引的查询。笔者设置long_query_time=10

笔者设置:


sort_buffer_size = 1M
max_connections=120
wait_timeout =120
back_log=100
read_buffer_size = 1M
thread_cache=32
interactive_timeout=120
thread_concurrency = 4

参数说明:

back_log

要求MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短) 检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 Unix listen(2)系统调用的手册页应该有更多的细节。检查你的OS文档找出这个变量的最大值。试图设定back_log高于你的操作系统的限制将是无效的。

max_connections

并发连接数目最大,120 超过这个值就会自动恢复,出了问题能自动解决

thread_cache

没找到具体说明,不过设置为32后 20天才创建了400多个线程 而以前一天就创建了上千个线程 所以还是有用的

thread_concurrency

#设置为你的cpu数目x2,例如,只有一个cpu,那么thread_concurrency=2

#有2个cpu,那么thread_concurrency=4

skip-innodb

#去掉innodb支持



标签:MySQL优化,MySQL技巧
0
投稿

猜你喜欢

  • mysql中的保留字段产生的问题

    2024-01-14 06:30:58
  • 使用systemd部署服务的过程解析

    2021-06-17 21:22:21
  • 注册表单之死

    2008-08-07 13:02:00
  • Python里的dict和set的背后小秘密

    2023-11-20 01:01:11
  • vue2 拖动排序 vuedraggable组件的实现

    2024-05-02 16:59:08
  • Vue简易版无限加载组件实现原理与示例代码

    2024-04-28 10:54:53
  • js判断变量是否未定义的代码

    2023-08-16 03:43:27
  • python 实现视频流下载保存MP4的方法

    2021-09-13 06:31:38
  • 回顾Javascript React基础

    2023-07-13 00:57:00
  • MySQL删除外键、增加外键以及删除主键、增加主键的实战步骤

    2024-01-26 00:58:52
  • Javascript学习笔记之 函数篇(二) : this 的工作机制

    2024-05-11 10:23:57
  • Python and、or以及and-or语法总结

    2021-11-08 01:52:36
  • 详解git reset 加不加 --hard的区别

    2022-04-03 06:45:13
  • 基于MATLAB和Python实现MFCC特征参数提取

    2023-01-29 07:37:53
  • 使用Python实现下载网易云音乐的高清MV

    2022-08-07 17:30:52
  • 快速掌握ASP连接11种数据库的常用语法

    2008-11-28 15:32:00
  • Mysql8.0递归查询的简单用法示例

    2024-01-22 16:06:42
  • Python 3中print函数的使用方法总结

    2021-12-21 00:37:18
  • Python输出\\u编码将其转换成中文的实例

    2023-03-30 22:58:02
  • python opencv旋转图像(保持图像不被裁减)

    2022-02-09 13:56:32
  • asp之家 网络编程 m.aspxhome.com