Mysql常见配置说明
[mysqld]配置 default-storage-engine = MyISAM 默认选择某种表存储引擎 ignore-bulidin-innodb 忽略mysql自带的innodb引擎,使用这个配置时需要自己引入外部的innodb引擎,否则innodb表无法使用。 plugin-load = innodb=ha_innodb_plugin.so 加载外部引擎,如使用了ignore-bulidin-innodb后,需要引入一个外部的innodb引擎。注意外部引擎文件需要放在plugin_dir变量(配置)指定的目录下。如果有多个外部引擎使用这样的格式:plugin-load = "myplug1=myplug1.so;myplug2=myplug2.so" init_connect = ‘set names utf8‘ 客户端连接时,预先执行的命令。 --character-set-client-handshake 不忽略客户端的编码设置,对应的配置是--skip-character-set-client-handshake,忽略客户端的编码设置,直接采用服务器端character-set-server配置的编码 datadir 数据存放目录设置 socket 套接字位置 key_buffer_size 设置myisam引擎的索引文件(索引块)的内存缓冲大小。由于myisam的索引块会被取入到内存里,并且这些索引块是所有线程共享的,所以key_buffer_size对于myisam的性能影响很大。如何判断key_buffer_size设置是否合理呢,查看系统状态变量 Key_read_requests, Key_reads, Key_write_requests, 和 Key_writes,一般要求,Key_reads / Key_read_requests小于0.001,是比较理想的。而Key_writes / Key_write_requests 的比值一般接近1,除非你使用了延迟写入,或是常进行批量更新。 max_allowed_packet 允许传送的数据包大小 table_open_cache(旧名为table_cache) 缓存打开的表句柄的个数,可以通过观察状态变量,Opened_tables判断是否加大table_open_cache的大小。 sort_buffer_size 设置每个连接的排序缓冲大小,在使用order by和group by这个值是否合适非常重要,因为这两个操作,很难通过sql优化来提高性能,加大排序缓冲区以提高性能就显得非常重要了。观察Sort_merge_passes这个状态变量,可以帮你判断是否有必要增大这个值。需要注意的是,sort_buffer_size的值越大,需要用于分配的时间就越长,很有可能使得大部分query操作,所以建议进行session级别的设置,每个连接自己需要时再设置大的值。 read_buffer_size myisam的读缓冲区大小 read_rnd_buffer_size myisam用于读取通过order by查询的数据的缓冲区大小。 myisam_sort_buffer_size myisam批量修改、重建索引时使用的缓冲区。 thread_cache_size mysql缓存线程数量,缓存线程以便重复利用,从而减少初始化线程的消耗。 query_cache_size 缓存query结果的缓存区大小 max_heap_table_size 和 tmp_table_size 内存表和临时表的最大内存空间。 max_connections 最大连接数 long_query_time 指定某个时间长度,超过这个时间的query会被认定为slow query。 slow_query_log和slow_query_log_file 是否开启慢日志和慢日志存放地址 interactive_timeout和wait_timeout 交互式连接与非交互式连接空闭等待时间。 innodb_buffer_pool_size innodb用于缓存数据和索引的内存空间大小 。 innodb_additional_mem_pool_size innodb用于存放数据字典及其他内部使用的信息的内存空间大小,当应用中数据表超多,这个值应该设置的超大。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。