详解MySql的配置文件my.cnf

 

一、Windows下MySQL的配置文件是my.ini,通常会在安装目录的根目录。mysql

 

 

 

 

 

二、Linux下MySQL的配置文件是my.cnf,通常会放在/etc/my.cnf,/etc/mysql/my.cnfsql

 

把MySql下面的配置文件my.cnf详细的作一个说明(Linux环境) 查看版本号的sql命令是:select version();数据库

首先,先找到my.cnf的路径,若是安装的时候没有作什么修改,那么它的默认路径是在“/etc/my.cnf”这个地方。若是找不到也没有关系,咱们能够用两步找到它;缓存

第一步:首先找到mysqld的路径:服务器

命令:which mysqld并发

出来的路径就是mysqld 的路径;socket

第二步:敲命令:/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'性能

在这里就能够看到my.cnf的路径啦!spa

 

下面咱们打开my.cnf看看里面都有些什么配置:插件

 

 

 

part 1

port = 3306:指定了Mysql开放的端口;basedir = /usr/local/mysql:指定Mysql安装的绝对路径;datadir = /data/mysql_db_data:指定Mysql数据存放的绝对路径;socket = /tmp/mysql.sock:套接字文件

这里要注意,有时候重启mysql会提示/tmp/mysql.sock不存在,此时一般会因为两种状况致使,解决方法:

路径不对,此时找一下该文件的路径,而后配置指向正确的路径便可;误删除了,此时需重启mysql服务,重启完后会在datadir目录下生成一个该文件,而后配置指向正确的路径就能够了;

plugin_dir = /usr/local/mysql/lib/plugin:mysql中plugin插件所在的路径;log-error = /data/mysql_db/data/error.log:mysql生成的错误日志存放的路径,它是一个文本文件,遇到有什么问题想查看日志时能够到这个文件里去找线索;symbolic-links = 0:符号链接,若是设置为1,则mysql数据库和表里的数据支持储存在datadir目录以外的路径下,默认都是0(较新版本的mysql下默认是1);

 

part 2

local-infile = 0:设置为0表示关闭服务器从本地load的功能,设置为1则打开;max-connections = 320:设置Mysql的最大链接数;若是实际应用中,并发的链接数量比较大,能够适当的调高此参数,可是,也不是说越高越好,由于这牵涉到服务器的机器硬件的性能。

有时候查看日志,会看到例如:“Error 1040 : Too many connections”这样的错误,致使这种错误出现的缘由一般是因为该参数的值设置太小致使;

query_cache_limit = 4M:指定单个查询可使用的缓冲区的大小,通常默认值是1M;query_cache_size = 64M:查询的缓存大小设置;query_cache_type = 1:设置缓存的类型,有如下几种设置方法:

设置成0,表示禁用缓存;设置成1,表示缓存全部结果;设置成2,表示只缓存在select语句中经过SQL_CACHE指定须要缓存的查询;

max_user_connections = 320:用户链接数的最大值设置,有时候会出现:“has more than max_user_connections active connections”的错误,不必定是该参数的设置个数不够,有时候须要从代码里找缘由,查看是否链接结束后及时断开;wait_timeout = 9000:超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的链接;connect_timeout = 20:客户端与服务器创建链接时,服务器返回错误的握手协议前,等待数据包到来的最大时间,单位秒;thread_cache_size = 256:用于缓存空闲的线程;key_buffer_size = 16M:用于指定索引缓冲区的大小;

 

part 3

join_buffer_size = 2M:查询语句中若是较屡次使用join查询时,可适当增大该参数,默认2M,若是几乎不怎么用join进行查询,可不予理会;max_heap_table_size = 16M:指定用户可建立内存表的大小;low_priority_updates = 1:设置服务器下降写操做的优先级,设置为1表示以读为主;max_allowd_packet = 128M:设置一次消息传输的最大值;max_seeks_for_key = 100:设置基于key查询容许的最大查找次数;sort_buffer_size = 16M:经过增长该值的大小能够提升查询中使用“group by”和“order by”的性能;read_buffer_size = 16M:设置服务器读缓冲区的大小;max_connect_errors = 10:客户端链接服务器在没有成功时就被阻断了,累计后超过这个设置的值时,服务器将阻止该客户端后续的全部访问;myisam_sort_buffer_size = 64M:服务器重建索引时容许创建的最大临时文件的大小;tmp_table_size = 64M:设置临时内部堆积表(Heap)的大小;read_rnd_buffer_size = 1M:设置服务器随机读取缓冲区的大小;open_file_limit = 6050:控制文件打开的个数;

相关文章
相关标签/搜索