配置参数

Mysql一些重要配置参数的学习与整理(一)

雨燕双飞 提交于 2019-12-03 21:33:45
原文地址: Mysql一些重要配置参数的学习与整理(一) 最近一直在进行mysql的学习,主要是学习mysql的一些配置参数,了解参数的意义,考虑其对mysql性能的影响,向同事要了一份正式服务器上的mysql配置,目前的配置能够满足正式生产环境中的性能要求,在学习mysql的过程中,对该配置中的一些参数进行了解和学习,这里总结和整理一下,方便以后回顾。 其中涉及的配置参数主要有以下几个,接下来会依次进行学习和了解: skip-external-locking 在某些系统中,lockd锁管理器可能不能正常工作,可以使用 skip-external-locking告诉mysqld不使用外部锁定。(这意味着你不能在同一个数据目录运行两个mysqld服务器,而且如果你使用相同内存配置,也需要特别注意) 在Mysql4.0版本之后,外部锁定默认是禁用的,而启用外部锁定(系统锁定),如果系统上的lockd不能完全工作(比如Linux系统),很容易造成mysqld死锁。 明确的禁用外部锁定,可以通过配置skip-external-locking。 外部锁定只影响存储引擎为MyISAM表的访问。 key_buffer_size = 16M 这个参数的含义是:MyISAM表用于索引块的缓冲区大小,可以被所有线程所共享,默认值是8388608(即8M),它是对MyISAM表性能影响最大的一个参数,

Mysql一些重要配置参数的学习与整理(三)​

ε祈祈猫儿з 提交于 2019-12-03 21:33:27
原文地址: Mysql一些重要配置参数的学习与整理(三) 之前的 Mysql一些重要配置参数的学习与整理(一) 和 Mysql一些重要配置参数的学习与整理(二) 中,对于线上mysql服务器的一些配置参数进行了学习,不过参阅官方doc后对其中的一些参数的配置的理解不是很清晰,今天与同事进行了交流和沟通,都一些重要的配置交换了意见,本篇就对其中的一些疑问点,整理一下心得。 skip-external-locking作用 在Mysql Linux 的发行版中,默认存在一行skip-external-locking,它表示跳过外部锁定,与之相对,External-locking变量表示启用外 部锁定,用于多线程条件下对MyISAM数据表进行锁定,默认情况下mysql是禁用外部锁定的,在现实生产中,我们的业务环境是单服务器环境,不需要外 部锁定,所以将其禁用。 key_buffer_size 在InnoDB引擎时无效 在 现实的生产环境中,我们曾对业务库进行过升级,虽然我们的业务库使用的是InnoDB引擎,但是其中仍然存在几张遗留的使用MyISAM存储引擎的表,设 置这个参数也是为了提供对于这几张表的访问性能,用于这几张表的索引更好的处理读和多写操作。另外,在之前windows上安装mysql 5.5时,会默认产生几个不同生产环境的my.ini文件,这个参数的配置也参阅了其中的一些配置。

Mysql一些重要配置参数的学习与整理(二)

 ̄綄美尐妖づ 提交于 2019-12-02 18:01:13
原文地址: Mysql一些重要配置参数的学习与整理(二) 上一篇, Mysql一些重要配置参数的学习与整理(一) 中,我们了解和学习了mysql配置中的一些重要参数,今天继续进行学习,mysql的配置参数很多,不可能做到面面俱到,这里的总结和整理只是针对于现实生产环境中用到的一些配置参数的学习,接下来,开始本篇的学习。 innodb_flush_log_at_trx_commit = 2 这个变量的官方定义是:Controls the balance between strict ACID compliance for commit operations,and higher performance that is possible when commit-related I/O operations are rearranged and done in batches。我自己的理解是用于控制两种关系之间的平衡,这两种关系:提交操作严格的ACID特性,提交相关的IO操作被分批的重新排列和完成时可能带来的高性能。你可以通过修改这个变量的默认值达到更好的性能,但是你可能会在意外崩溃时丢失 一秒 的事务。 默认值为 1 完全符合数据库ACID特性,这个值表示,在每次事务提交的时候,InnoDB日志缓冲区的内容都会被写入到日志文件,并且日志文件会被刷新到磁盘。 如果变量值为0 ,则表示