MySQL 优化设置步骤

 更新时间:2009年03月07日 00:18:17   作者:  
mysql的一些运行效率等优化设置,建议拥有服务器的朋友,可以测试。

如果使用的是MySQL 5.0.x
可以直接将以下内容保存替换MySQL中的my.ini,记得要修改basedir和datadir两个栏目的路径。

复制代码 代码如下:

[client]
port=3306
[mysql]
default-character-set=gbk
[mysqld]
port=3306
basedir="D:/web/mysql/"
datadir="D:/web/mysql/Data/"
default-character-set=gbk
default-storage-engine=MYISAM
max_connections=1910
query_cache_limit=2M
query_cache_size=64M
query_cache_type=1
table_cache=64
tmp_table_size=32M
thread_cache_size=64
myisam_sort_buffer_size=8M
key_buffer_size=256M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=208K
skip-bdb
back_log=500
skip-locking
skip-innodb
thread_concurrency=16
max_connect_errors=30000
wait_timeout=120
max_allowed_packet=2M
interactive_timeout=120
local-infile = 0

增加数据库日志记录
在MySQL的配置文件my.ini最下面加入以下内容,将你需要记录的日志类型栏目前面的#注释符去掉,然后=后面填写日志文件名称(该文件需手动建立,程序方可在其写入日志)使其生效。
复制代码 代码如下:

#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow query log file. Otherwise a default name will be used.
#log-slow-queries= log-slow-queries.txt
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=

增加中文全文索引
在MySQL的配置文件my.ini最下面加入以下内容。
复制代码 代码如下:

# Minimum word length to be indexed by the full text search index.
# You might wish to decrease it if you need to search for shorter words.
# Note that you need to rebuild your FULLTEXT index, after you have
# modified this value.
ft_min_word_len = 1

从MySQL4.0开始就支持全文索引功能,但是MySQL默认的最小索引长度是4。如果是英文默认值是比较合理的,但是中文绝大部分词都是2个字符,这就导致小于4个字的词都不能被索引,全文索引功能就形同虚设了。国内的空间商大部分可能并没有注意到这个问题,没有修改MySQL的默认设置。

为什么要用全文索引呢?

一般的数据库搜索都是用的SQL的like语句,like语句是不能利用索引的,每次查询都是从第一条遍历至最后一条,查询效率极其低下。一般数据超过10万或者在线人数过多,like查询都会导致数据库崩溃。这也就是为什么很多程序都只提供标题搜索的原因了,因为如果搜索内容,那就更慢了,几万数据就跑不动了。

MySQL全文索引是专门为了解决模糊查询提供的,可以对整篇文章预先按照词进行索引,搜索效率高,能够支持百万级的数据检索。

如果您使用的是自己的服务器,请马上进行设置,不要浪费了这个功能。

如果您使用的是虚拟主机,请马上联系空间商修改配置。首先,MySQL的这个默认值对于中文来说就是一个错误的设置,修改设置等于纠正了错误。其次,这个配置修改很简单,也就是几分钟的事情,而且搜索效率提高也降低了空间商数据库宕掉的几率。如果你把本篇文章发给空间商,我相信绝大部分都会愿意改的。

特别注意:无论做以上哪一项修改后都必须重启MySQL服务使修改生效。
重启方法
方法一:在开始-运行输入:net stop mysql 回车,再在运行输入:net start mysql 回车
方法二:或者开始-控制面板-管理工具-服务,然后找到 MySQL这一项点击右键,选择重启服务

您可能感兴趣的文章:

相关文章

  • 数据库索引知识点整理

    数据库索引知识点整理

    这篇文章主要介绍了数据库索引知识点整理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考
    2021-01-01
  • SQL中的开窗函数(窗口函数)

    SQL中的开窗函数(窗口函数)

    这篇文章主要介绍了SQL中的开窗函数(窗口函数)使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • mysql now()函数调用系统时间不对的解决方法

    mysql now()函数调用系统时间不对的解决方法

    mysql的now()函数与实际时间不符,本文就详细的介绍一下mysql now()函数调用系统时间不对的解决方法,非常具有实用价值,需要的朋友可以参考下
    2023-05-05
  • mysql binlog二进制日志详解

    mysql binlog二进制日志详解

    二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句
    2011-10-10
  • 深入了解Mysql逻辑架构

    深入了解Mysql逻辑架构

    这篇文章主要介绍了深入了解Mysql逻辑架构的原因,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-12-12
  • MySQL关于exists的一个bug

    MySQL关于exists的一个bug

    今天小编给大家分享一个mysql关于exists的一个bug问题,非常不错,感兴趣的朋友一起学习下
    2016-08-08
  • mysql登录警告问题的解决方法

    mysql登录警告问题的解决方法

    这篇文章主要为大家详细介绍了mysql登录警告问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 最新MySql8.27主从复制及SpringBoot项目中的读写分离实战教程

    最新MySql8.27主从复制及SpringBoot项目中的读写分离实战教程

    MySQL主从复制是一个异步的复制过程,底层是基于MySQL1数据库自带的二进制日志功能,这篇文章主要介绍了最新MySql8.27主从复制及SpringBoot项目中的读写分离实战教程,需要的朋友可以参考下
    2022-08-08
  • DBeaver连接MySQL的超详细步骤

    DBeaver连接MySQL的超详细步骤

    DBeaver是免费、开源、通用数据库工具,是许多开发开发人员和数据库管理员的所选,下面这篇文章主要给大家介绍了关于DBeaver连接MySQL的超详细步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • MySQL 缓存机制与架构解析(最新推荐)

    MySQL 缓存机制与架构解析(最新推荐)

    本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDB Buffer Pool)和二级缓存(Query Cache),文章还探讨了SQL查询执行全流程,并分析了MySQL 8.0移除查询缓存的原因,最后,提出了应用层缓存和InnoDB缓冲池优化的建议,感兴趣的朋友跟随小编一起看看吧
    2025-02-02

最新评论