• mysql配置文件参数详解


    part 1

    port = 3306:指定了Mysql开放的端口;

    basedir = /usr/local/mysql:指定Mysql安装的绝对路径;

    datadir = /data/mysql_db_data:指定Mysql数据存放的绝对路径;

    socket = /tmp/mysql.sock:套接字文件

    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:设置缓存的类型,有以下几种设置方法:

      (1)设置成0,表示禁用缓存;

      (2)设置成1,表示缓存所有结果;

      (3)设置成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:控制文件打开的个数;

    part4

    (1)show status 命令,含义如下:  

      aborted_clients 客户端非法中断连接次数
      aborted_connects 连接mysql失败次数
      com_xxx xxx命令执行次数,有很多条
      connections 连接mysql的数量
      Created_tmp_disk_tables 在磁盘上创建的临时表
      Created_tmp_tables 在内存里创建的临时表
      Created_tmp_files 临时文件数
      Key_read_requests The number of requests to read a key block from the cache
      Key_reads The number of physical reads of a key block from disk
      Max_used_connections 同时使用的连接数
      Open_tables 开放的表
      Open_files 开放的文件
      Opened_tables 打开的表
      Questions 提交到server的查询数
      Sort_merge_passes 如果这个值很大,应该增加my.cnf中的sort_buffer值
      Uptime 服务器已经工作的秒数

    (2)提升性能的建议:
      1.如果opened_tables太大,应该把my.cnf中的table_cache变大
      2.如果Key_reads太大,则应该把my.cnf中key_buffer_size变大.可以用Key_reads/Key_read_requests计算出cache失败率
      3.如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表,而没有发挥索引的键的作用
      4.如果Threads_created太大,就要增加my.cnf中thread_cache_size的值.可以用Threads_created/Connections计算cache命中率
      5.如果Created_tmp_disk_tables太大,就要增加my.cnf中tmp_table_size的值,用基于内存的临时表代替基于磁盘的

  • 相关阅读:
    Mac Outlook邮箱MicrosoftExchange邮箱快满了,请减小邮箱大小。
    SpringCloud Config Server中{application}等占位符使用场景设置默认拉去分支
    五四日记
    org.apache.ibatis.binding.BindingException: Mapper method 'attempted to return null from a method with a primitive return type (long).
    业务量剧增后服务器常见返回码总结
    Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头
    Mac下 Visual VM 无法检测到本地的Java进程
    高并发下hystrix熔断超时及concurrent.RejectedExecutionException: Rejected command because thread-pool queueSize is at rejection threshold问题
    Silly Java-Final 关键字
    qqwry.dat输出乱码问题及maven打包后资源文件大小不一致的问题
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/10993661.html
Copyright © 2020-2023  润新知