mysql 配置说明
2015-06-09 14:52
537 查看
对红薯开源的oschina mysql配置文件的说明:
[client] password = port = 3306 socket = /tmp/mysql.sock #限制mysql server接收的数据包的大小(这里是客户端传入的数据包) max_allowed_packet = 48M # Here follows entries for some specific programs # The MySQL server [mysqld] datadir=/data/mysql #tmpdir=/dev/shm/mysql event_scheduler=ON #开启定时器 default-storage-engine=INNODB #默认数据库引擎 #default-character-set=utf8 character-set-server = utf8 #默认字符集 port = 3306 max_allowed_packet = 16M #从一个连接上次SQL执行后算起,当前空闲(sleep)若超过该时间(500秒), #则会被强制断开(对一些负荷比较重的MySQL还是比较有用,回收sleep连接线程释放内存)。 wait_timeout = 500 #和wait_timeout配合使用,服务器在关闭连接前在一个交互连接上等待行动的秒数 interactive_timeout = 500 #指的是连接过程中握手的超时时间(基于TCP协议会有3次握手交互, #成功后客户端会阻塞等待服务消息, #服务端这个时候会创建一个线程(或者从线程池中取一个线程)来处理请求, #主要验证部分包括host和用户名密码验证。 #host验证用grant命令授权用户的时候是有指定host的。 #用户名密码认证则是服务端先生成一个随机数发送给客户端, #客户端用该随机数和密码进行多次sha1加密后发送给服务端验证。 #如果通过,整个连接握手过程完成。) connect_timeout = 20 socket = /tmp/mysql.sock #当客户端请求连接超过max_connections时, #会将超过请求放入堆栈中(back_log)来等待资源释放, #如果等待的请求超过了堆栈的大小,将不会授与连接资源。 back_log = 512 max_connections = 2048 #mysql最大连接数 #mysql安全相关的计数器,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。 #max_connect_errors的值与性能并无太大关系。 max_connect_errors = 128 #mysql用户能够打开多少个文件描述符, #注意:open_files_limit 大小和 max_connections*5需要比较, #那个最大就用那个值来设置open_files_limit 。 #【比较open_files_limit,max_connections*5和10+max_connections+table_cache_size*2中最大值】 #(/etc/security/limits.conf 查看系统最大文件数) open_files_limit = 8192 #指定用于索引的缓冲区大小, #通过检查状态值Key_read_requests和Key_reads,可以知道 key_buffer_size 设置是否合理。 #比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好 #(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得) key_buffer_size=1024M #MySql执行排序使用的缓冲大小(不是越大越好,根据业务应用情况设置) sort_buffer_size = 32M #MySql读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区 read_buffer_size = 32M #在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。 join_buffer_size = 32M #MySql的随机读缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区 read_rnd_buffer_size = 8M #为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。 bulk_insert_buffer_size = 32M # MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE). # 如果文件大小比此值更大,索引会通过键值缓冲创建(更慢) myisam_max_sort_file_size = 100G # 此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER # 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配. # 这在每个线程中被分配.所以在设置大值时需要小心. myisam_sort_buffer_size=64M #可以重新利用保存在缓存中线程的数量(重要的优化指标?) #当断开连接时如果缓存中还有空间, #那么客户端的线程将被放到缓存中, #如果线程重新被请求,那么请求将从缓存中读取, #如果缓存中是空的或者是新的请求, #那么这个线程将被重新创建,如果有很多新的线程, #增加这个值可以改善系统性能. thread_cache_size = 64 #thread_concurrency = 16 # 线程使用的堆大小. 此容量的内存在每次连接时被预留. # MySQL 本身常不会需要超过64K的内存 thread_stack = 512k # 此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖. query_cache_limit = 4M #查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果. query_cache_size = 128M query_cache_min_res_unit= 2k #指定表高速缓存的大小。 #每当MySQL访问一个表时,如果在表缓冲区中还有空间, #该表就被打开并放入其中,这样可以更快地访问表内容。 table_cache = 2048 #临时HEAP数据表的最大长度 tmp_table_size = 256M max_heap_table_size = 256M max_tmp_tables = 512 bulk_insert_buffer_size = 16M #禁用DNS解析(须使用ip连接,设置该参数之前先grant root%127.0.0.1的本地ip的权限) skip-name-resolve #慢查询日志 slow_query_log #记录慢查询超过时间100ms的SQL(为什么要求这高?) long_query_time = 0.1 innodb_data_home_dir = /data/mysql innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /data/mysql #设置独立表空间 innodb_file_per_table = 1 innodb_open_files = 2048 #memlock #开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写。 #在非常高的 I/O 负载情况下开启,当然innodb_buffer_pool_size相对应。 innodb_buffer_pool_instances=4 #表示缓冲池字节大小,InnoDB缓存表和索引数据的内存区域。默认的值是128M #合理设置,不是越大越好(具体测试对cpu影响) innodb_buffer_pool_size = 8G #除了缓存表数据和索引外,可以为操作所需的其他内部项分配缓存 innodb_additional_mem_pool_size=64M #数据日志文件的大小,以M为单位,更大的设置可以提高性能, #但也会增加恢复故障数据库所需的时间 innodb_log_file_size = 64M innodb_lock_wait_timeout = 50 #如果将此参数设置为1,将在每次提交事务后将日志写入磁盘。 #为提供性能,可以设置为0或2,但要承担在发生故障时丢失数据的风险。 #设置为0表示事务日志写入日志文件,而日志文件每秒刷新到磁盘一次。 #设置为2表示事务日志将在提交时写入日志,但日志文件每次刷新到磁盘一次。 innodb_flush_log_at_trx_commit = 0 ### small swap / IO #参数控制着innodb数据文件及redo log的打开、刷写模式 innodb_flush_method = O_DIRECT innodb_write_io_threads = 8 innodb_read_io_threads = 8 innodb_thread_concurrency = 16 innodb_log_files_in_group = 3 #脏页数据超过多少%时写入磁盘 innodb_max_dirty_pages_pct = 90 [mysqldump] quick max_allowed_packet = 48M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set=utf8 [isamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M
![](http://static.oschina.net/uploads/space/2015/0610/100523_MpIX_1011458.png)
相关文章推荐
- 关系型数据库基本概念及MySQL简述
- 带您了解mysql CONCAT()函数
- Mysql字符串中有数字的排序问题
- MySQL数据表格导入导出
- mysql添加索引
- MySQL忘记密码解决办法
- C#访问MySQL数据库
- mysql主从数据库不同步的3种解决方法
- MySQL主(Master)从(Slave)备份;
- Ubuntu 安装mysql和简单操作
- Mysql导入导出工具Mysqldump和Source命令用法详解
- mysql存储邮箱地址报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 解决办法
- 理解MySQL——索引与优化
- mysql 备库重做步骤
- mysql:基本原理和使用
- 【mysql5.6】下载安装
- mysql行列转换方法总结
- mysql行列转换方法总结
- MySQL Workbench导出csv格式文件打开后发现数据乱码解决方法
- MySQL Workbench导出csv格式文件打开后发现数据乱码解决方法