首页 > 代码库 > Mysql常见配置说明
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用于存放数据字典及其他内部使用的信息的内存空间大小,当应用中数据表超多,这个值应该设置的超大。
Mysql常见配置说明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。