好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysql性能最大化 - mysql数据库栏目 - 自学php

[client] #passwd = your_passwd port = 3306 socket = /data/mysql/mysql.sock [mysqld] #global settings port = 3306 socket = /data/mysql/mysql.sock basedir=/usr/local/mysql tmpdir=/data/mysql datadir=/data/mysql pid-file=/data/mysql/rongzhong.pid #跳过外部锁定 只对MyISAM skip-external-locking #禁用tcp socket连接,只能使用unix/linux socket连接 skip_networking #禁用DNS解析,提高连接速度 skip_name_resolve #跳过授权表,忘记root密码时使用 #skip-grant-tables #默认存储引擎 #default-storage-engine=MyISAM/INNODB #默认字符集 character_set_server=utf8 #最大连接数 max_connections=20480 #最大单用户连接数 max_user_connections=1024 #服务器关闭一个交互连接前等待的秒数,默认28800 interactive_timeout=7200 #线程缓存数,直接利用空闲连接来创建新连接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64 #短连接较多的情况下可以适当增加该值 thread_cache_size=64 #单个线程(连接)进行数据排序(eg: order/group by)时的buffer,连接创建时一次性分配,默认2M,当 Sort_merge_passes较大时可增加该值 sort_buffer_size=2M #对没有索引的表进行join操作时的buffer,默认256K,连接创建时一次性分配 join_buffer_size=262144 #指定连接侦听队列的大小,该值超过OS的tcp_max_syn_backlog/somaxconn时无效,推荐设置为小于512的整数 back_log=512 #table_open_cache中岁多能打开的表数 table_open_cache = 256 #一次消息传输量的最大值,是net_buffer_length的最大值 max_allowed_packet=8M #bin-log #打开二进制日志 log-bin=mysql-bin log-bin-index=mysql-bin.index #日志格式,可选row/statement/mixed,默认statement,推荐mixed binlog_format=mixed #一个binlog的最大值 max_binlog_size=1G #对单个连接的binlog缓存大小,默认1M binlog_cache_size=2M #binlog cache的总大小 max_binlog_cache_size=2G #sync_binlog may be 0 or 1 #binlog是否进行磁盘同步,为0时交给OS,为1:事物结束立即同步,IO损耗大 sync_binlog=0 #slow-log #开启slow log slow-query-log=1 #指定慢查询的时长 long-query-time=2 #路径 slow-query-log-file=/data/mysql/slowlog/slow.log #未使用索引的查询也记录到slow log中 log_queries_not_using_indexes=1 #query cache #启用query cache query_cache_type=1 #存放单条query cache的最大值,默认1M query_cache_limit=1M #存放单条query cache的最小值,默认4K query_cache_min_res_unit=4096 #query的最大值 query_cache_size=256M #MyISAM #索引缓存大小,公式:Key_Size = key_number * (key_length+4)/0.67 key_buffer_size=128M #单个线程进行顺序读取时的缓存,默认128K read_buffer_size=2M #单个线程进行随机读取时的缓存,默认256K read_rnd_buffer_size = 4M #重建索引时允许的最大缓存大小,默认8M myisam_sort_buffer_size = 64M #指定索引缓存中block大小,默认1K key_cache_block_size=1024 #禁止索引的单条刷新 delay_key_write=1 #innodb #启用独立的表空间 #innodb_file_per_table=1 #设置innodb内存缓冲区大小,在纯mysql环境下,推荐设置为服务器内存的60~80% innodb_buffer_pool_size =8G #设置OS能进入innodb内核的线程数,推荐2*(CPU核心数+磁盘数) innodb_thread_concurrency=16 #设置innodb的io行为,可选值fsync/O_DSYNC/O_DIRECT 推荐O_DIRECT提高随机写效率 innodb_flush_method=O_DIRECT #设置mysql主进程每秒钟向磁盘刷入的脏页数,默认值200 #For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100 innodb_io_capacity=100 #设置写脏页的线程数 innodb_write_io_threads = 8 #设置从磁盘读文件块的线程数 innodb_read_io_threads = 8 #设置事物日志缓冲区大小 #设置事物日志缓冲区大小 innodb_log_buffer_size=8M #log thread向磁盘同步日志的方式,可选值为0/1/2 #0: 每秒钟刷新 1:每次事物提交后都刷新 2:交给OS来同步 innodb_flush_log_at_trx_commit =0 # 数据库 字典信息和表结构空间 innodb_additional_mem_pool_size =16M #启用Double write Buffer区域,保证数据完整性,但消耗IO innodb_doublewrite=1 [ mysql dump] # Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 512M sort_buffer_size = 512M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout [mysqld_safe] # Increase the amount of open files allowed per process. Warning: Make # sure you have set the global system limit high enough! The high value # is required for a large number of opened tables open-files-limit = 8192

查看更多关于mysql性能最大化 - mysql数据库栏目 - 自学php的详细内容...

  阅读:43次