mysql-a参数_mysql参数及解释
key_buffer_size:(global、Dynamic)#*** MyISAM特有的选项。即使你不使⽤MyISAM表,你仍应该将它设置为8-64M,因为它也被⽤于内部的临时磁盘表。这个参数是⽤来设置索引块(index blocks)缓存的⼤⼩,它被所有线程共享,严格说是它决定了数据库索引处理的速度,尤其是索引读的速度。若果应⽤系统的表基本上都是myisam表,可以将这个值设为机器内存的25%。
max_allowed_packet:(global、Dynamic) #**通⽤配置选项,能够处理的最⼤通信信息包⼤⼩,在客户端或者服务器端都可以设置,默认为16M。
table_open_cacheglobal、Dynamic)#**通⽤配置选项,参数设置表⾼速缓存的数⽬。每个连接进来,都会⾄少打开⼀个表缓存。因
此,table_cache的⼤⼩应与max_connections的设置有关。例如,对于200个并⾏运⾏的连接,应该让表的缓存⾄少有200×N,这⾥N 是应⽤可以执⾏的查询的⼀个联接中表的最⼤数量。此外,还需要为临时表和⽂件保留⼀些额外的⽂件描述符。MySQL Open_tables表⽰打开表的数量,如果MySQL Opened_tables数量过⼤,说明配置中table_cache(5.1.3之后这个值叫做table_open_cache)值可能太⼩
Sort_Buffer_Size(Both、Dynamic)#**通⽤配置,是⼀个connection级参数,在每个connection第⼀次需要使⽤这个buffer的时候,⼀次性分配设置的内存
net_buffer_length(Both、Dynamic),⽤于建⽴连接时的连接缓冲和结果缓冲。最⼩值是1K,最⼤值是1M。(可以加快mysqldump的导⼊导出速度)
read_buffer_size(Both、Dynamic) #*** MyISAM特有的选项,⽤于进⾏MyISAM表全表扫描的缓冲区⼤⼩。,如果全表扫描是需要的,将分配给每个线程。
read_rnd_buffer_size(Both、Dynamic)#*** MyISAM特有的选项,当在⼀个有序的排序中读取⾏时,可以通过该缓冲区来读取⾏,以避免对磁盘的查。如果将该值设置为⼀个很⾼的值,你可以⼤幅度提⾼ORDER BY的性能。当需要时,分配给每个线程。
myisam_sort_buffer_size(Both、Dynamic)#*** MyISAM特有的选项,当MySQL需要通过REPAIR、OPTIMIZE、ALTER表语句重建索引,以及LOAD DATA INFILE到⼀个空表时,该缓冲区被分配。它是给每个线程分配的,因此⼩⼼⽐较⼤的设置。
log-bin#**通⽤配置选项启⽤⼆进制⽇志。这在⼀个复制配置中,对于充当MASTER的是必要的。如果你需要有能⼒及时从你最后的备份点中进⾏恢复,你也需要⼆进制⽇志。
binlog_format#**通⽤配置选项,推荐的⼆进制⽇志格式
binlog_cache_size#**通⽤配置选项,在⼀个事务中能够为⼆进制⽇志SQL语句保持的缓存⼤⼩。如果
mysql配置与安装过程你经常使⽤⼤的、多语句的事务,你可以提⾼该值以获得更好的性能。来⾃事务的所有语句被缓冲到⼆进制⽇志缓存,并在COMMIT之后⽴即被写⼊到⼆进制⽇志中。如果事务⼤于该值,磁盘上的临时⽂件将被替代使⽤。该缓冲在事务中第⼀个更新语句时分配给每个连接
max_connections #**通⽤配置选项, MySQL允许的并发会话的最⼤数量。其中的⼀个连接将被保留给拥有SUPER特权的⽤户,即使已经到达了连接限制,仍可以允许管理者登录。
max_connect_errors#**通⽤配置选项,每个主机允许的最⼤错误数量。如果已到达该限制,主机将阻⽌对MySQL服务器的连接,直到运⾏“FLUSH HOSTS”或者服务器被重启。在连接阶段的⽆效密码和其它错误将导致该值被提⾼。请看全局计数器
的“Aborted_connects”状态变量。
log-bin-trust-function-creators#**通⽤配置选项,⼆进制⽇志打开时有效,该参数决定存储函数创建者是否可以创建会导致不安全的时间记录到⼆进制⽇志的存储函数。当为0时,此时这也是默认值,除了拥有super权限除了create routine或alter routine权限.同时也会强制函数必须和deterministic或reads sql data⼜或者no sql的字符集⼀致.当设为1时MySQL不会去限制这些,这个变量同样作⽤于触发器
slow_query_log #**通⽤配置选项,记录慢查询。慢查询是指消耗时间超过“long_query_time”中定义的总时间的查询,或者如果
log_short_format没有启⽤,不使⽤索引的查询。如果你频繁地添加新查询到系统中,打开这个是⼀个⽐较好的注意。
slow_query_log_file #**通⽤配置选项,⽤于指定慢查询⽇志的⽂件路径和⽂件名
long_query_time #**通⽤配置选项,所有消耗时间超过该总时间的查询都将被视为是缓慢的。不要在这⾥使⽤“1”值,因为这会导致甚⾄⾮常快的查询都会被不时地被记录(MySQL当前的度量时间只精确到秒)。
log-queries-not-using-indexes#**通⽤配置选项,⽤于把所有没有使⽤索引的查询也记录到慢查询⽇志中
transaction_isolation#**通⽤配置选项,设置默认的事务隔离等级。可⽤的级别有:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、SERIALIZABLE。
query_cache_size #**通⽤配置选项,指定MySQL查询缓冲区的⼤⼩。可以通过在MySQL控制台执⾏以下命令观察:# > SHOW VARIABLES LIKE '%query_cache%';
# > SHOW STATUS LIKE 'cache%';
如果cache_lowmem_prunes的值⾮常⼤,则表明经常出现缓冲不够的情况;如果cache_hits的值⾮常⼤,则表明查询缓冲使⽤⾮常频繁,如果该值较⼩反⽽会影响效率,那么可以考虑不⽤查询缓冲;cache_free_blocks,如果该值⾮常⼤,则表明缓冲区中碎⽚很多。
query_cache_limit#**通⽤配置选项,只缓存结果集是⼩于该限制的。这可以保护⼀个⾮常⼤结果集的查询缓存覆盖所有其它查询结果。
query_cache_type#**通⽤配置选项,指定是否使⽤查询缓冲1使⽤,0不使⽤
init_connect#**通⽤配置选项,服务器为每个连接的客户端执⾏的字符串。字符串由⼀个或多个SQL语句组成。要想指定多个语句,⽤分号间隔开。
bind-address #**通⽤配置选项,绑定MySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP地址,这个选项将⾮常重要。
ft_min_word_len#**通⽤配置选项,全⽂索引的最⼩单词长度⼯。这个选项的默认设置是4,意思是在创建全⽂索引时不考虑那些由3个或更少的字符构建单词。
thread_concurrency #**通⽤配置选项,这个函数使应⽤程序给同⼀时间运⾏的线程系统提供期望的线程数⽬。该值只在⽀持
thread_concurrency()函数调⽤的系统上有意义(例如Sun Solaris)。你应该对thread_concurrency尝试CPU数量的2/4/6/...倍。
join_buffer_size #**通⽤配置选项,该缓冲被⽤来优化FULL JOIN(没有索引的JOIN)。⽆论如何,该JOIN在⼤多数情况下对性能是⾮常坏的,但是设置该变量为⼀个⼤值将减少对性能的影响。请看针对⼀定数量的FULL JOIN的“Select_full_join”状态变量。如果FULL JOIN 被发现,将分配给每个线程
thread_cache_size#**通⽤配置选项,我们保持在⼀个缓存中的可重⽤的线程数。当⼀个客户端断开连接时,如果在这之前的线程没有超过thread_cache_size,客户端的线程将放在缓存中。根据物理内存设置规则如下:1G---> 8  2G  ---> 16  3G  ---> 32  >3G  ---> 64
thread_stack #**通⽤配置选项,使⽤的线程堆栈⼤⼩。该内存量总是在连接时间被保留的。MySQL⾃⼰通常需要不超过64K的内存,然⽽如果你使⽤的是你⾃⼰的堆栈UDF函数或者你的系统针对某些操作需要更多堆栈,你可能需要设置该值为⼀个更⾼的值。
tmp_table_size#**通⽤配置选项,tmp_table_size内部(内存中的)临时表的最⼤容量。如果⼀个表的增长超过该值,它将⾃动地转换到基于磁盘的表。该限制是针对⼀个单⼀的表,但可以有很多这样的表。
basedir #**通⽤配置选项,该参数指定了安装MySQL的安装路径,填写全路径可以解决相对路径所造成的问题。
datadir#**通⽤配置选项,该参数指定了MySQL的数据库⽂件放在什么路径下。数据库⽂件即我们常说的MySQL data⽂件。
wait_timeout#**通⽤配置选项,服务器关闭⾮交互连接之前等待活动的秒数。
skip-name-resolve #**通⽤配置选项,mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user⾥的权限记录(某些是⽤hostname定义的)。如果mysql服务器设置了dns服务器,并且客户端ip在dns上并没有相应的hostname,那么这个过程很慢,导致连接等待。添加skip-name-resolve以后就跳过着⼀个过程了。
log_long_format#**通⽤配置选项,打开此项会记录使得那些没有使⽤索引的查询也被作为到慢速查询附加到慢速⽇志⾥
relay-log#**通⽤配置选项,从服务器I/O线程将主服务器的⼆进制⽇志读取过来记录到从服务器本地⽂件,然后SQL线程会读取relay-log⽇志的内容并应⽤到从服务器
relay-log-index#**通⽤配置选项,作为slave的时候存放binlog的索引⽂件
skip-slave-start#**通⽤配置选项,告诉从服务器当服务器启动时不启动从服务器线程。使⽤START SLAVE语句在以后启动线程。
innodb_data_home_dir #**innodb配置选项,如果你希望InnoDB表空间⽂件存储到其它的地⽅,设置该选项。默认的是MySQL数据⽬录。
innodb_data_file_path #**innodb配置选项,InnoDB存储数据到⼀个或多个数据⽂件,形成表空间。如果对于你对你的数据有⼀个单⼀的物理设备,那么⼀个单⼀的⾃动扩展⽂件就已经⾜够了。在其它情况下,每设备⼀个单⼀⽂件是⼀个⾮常好的选择。你也可以配置InnoDB 来使⽤原始的磁盘分区-请参考⼿册以获取更多有关这个的信息
innodb_log_group_home_dir#**innodb配置选项, InnoDB⽇志⽂件的位置。默认为MySQL的数据⽬录。你可能希望指定它到⼀个专⽤的硬盘或⼀个RAID1卷标来改善性能。
innodb_additional_mem_pool_size#**innodb配置选项,该参数指定InnoDB⽤来存储数据字典和其他内部数据结构的内存池⼤⼩。缺省值是1M。通常不⽤太⼤,只要够⽤就⾏,应该与表结构的复杂度有关系。如果不够⽤,MySQL会在错误⽇志中写⼊⼀条警告信息。根据MySQL⼿册,对于2G内存的机器,推荐值是20M。
innodb_buffer_pool_size(GLOBAL、STATIC) #**innodb配置选项,InnoDB,不像MyISAM,使⽤⼀个缓冲池来缓存索引和⾏数据。你将该值设得越⼤,在表中访问需要的数据时,磁盘I/O就越少。在⼀个专⽤的数据库服务器上,你可以设置该参数到机器物理内存⼤⼩的80%。不要把它设置得太⼤,因为物理内存的竞争可能导致操作系统中的分页。注意,在32位的系统上,你可能在每个处理器的⽤户级内存上被限制在2-3.5G,因此不要把它设置得太⾼。
innodb_file_io_threads #**innodb配置选项,InnoDB,异步IO操作所使⽤的IO线程数。该值在Unix系统上被硬编码为4,但在Windows 上,磁盘I/O可能受益于⼀个更⼤的数字。
innodb_thread_concurrency(GLOBAL、Dynamic) #**innodb配置选项,InnoDB内核⾥⾯允许的线程数量。最佳的值⾼度取决于应⽤程序、硬件以及操作系统的调度属性。⼀个太⾼的值可能导致线程颠簸。
innodb_flush_log_at_trx_commit(GLOBAL、Dynamic) #**innodb配置选项,如果设置为1,InnoDB在每次提交(提供完整的ACID⾏为)时刷新事务⽇志到磁盘。如果你想安全地进⾏折中,并且你正在运⾏⼩事务,你可以为0或2来减少⽇志的磁盘I/O。值0表⽰⽇志只被写⼊到⽇志⽂件,并且⽇志⽂件⼤约每秒⼀次刷新到磁盘。值2表⽰⽇志在每次提交时被写⼊到⽇志⽂件,但是⽇志⽂件只是⼤约每秒⼀次被刷新到磁盘。
innodb_log_buffer_size(GLOBAL、Dynamic) #**innodb配置选项,InnoDB缓冲⽇志数据所使⽤的缓冲区⼤⼩。⼀旦它满了,InnoDB将刷新它到磁盘。因为不管怎么它都是每秒刷新⼀次,所以没有必要让它变得很⼤(甚⾄是很长的事务)。
innodb_log_file_size(GLOBAL、Dynamic)#**innodb配置选项,⼀个⽇志组中每个⽇志⽂件的⼤⼩。你可以设置⽇志⽂件的联合⼤⼩为你的缓冲池⼤⼩的25%-100%,以避免对⽇志⽂件不必要的缓冲池动态刷新重写。然⽽,注意,⼀个更⼤的⽇志⽂件⼤⼩将增加恢复处理所需的时间。
innodb_log_files_in_group(GLOBAL、Dynamic)#**innodb配置选项,⽇志组中⽂件的总数。通常值为2-3就已⾜够了。
innodb_max_dirty_pages_pct(GLOBAL、Dynamic)#**innodb配置选项,InnoDB缓冲池中允许的脏页⾯的最⼤百分⽐。如果它到达
了,InnoDB将开始积极地清理它们,以避免消耗完所有的⼲净页⾯。这是⼀个软限制,不保证能够⼀直保持。
innodb_lock_wait_timeout(Both、Dynamic)  #**innodb配置选项,⼀个InnoDB事务应等待的在回滚之前被授权锁定的时长。InnoDB在它⾃⼰的锁定表中⾃动地检测事务死锁,并回滚事务。如果你在相同的
事务中使⽤LOCK TABLES命令,或者其它⽐InnoDB更加事务安全的存储引擎,那么稍后会出现InnoDB不能提⽰的死锁。如果像这样,超时对于解决问题是很有⽤的。
log-slave-updates(配置⽂件使⽤) #**通⽤配置选项,配置从库上的更新操作是否写⼆进制⽂件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进⾏⽇志同步这个参数要和—logs-bin⼀起使⽤。
slave-skip-errors(配置⽂件使⽤)#**通⽤配置选项,在复制过程,由于各种原因导致binlog中的sql出错,默认情况下,从库会停⽌复制,要⽤户介⼊。可以设置Slave-skip-errors来定义错误号,如果复制过程中遇到的错误号是定义的错误号,便可以跳过。如果从库是⽤来做备份,设置这个参数会存在数据不⼀致,不要使⽤。如果是分担主库的查询压⼒,可以考虑。
sync_binlog(GLOBAL、Dynamic)  #**通⽤配置选项,这个参数对于mysql系统来说是⾄关重要的,它不仅影响binlog对mysql所带来的性能损耗,⽽且还影响Mysql中数据的完整性。对于”sync_binlog“参数说明”sync_binlog=0当事物提交之后,mysql仅仅是将
binlog_cache中的数据写⼊binlog⽂件。但不执⾏fsync之类的磁盘同步指令通知⽂件系统将缓存刷新到磁盘⽽让Filesystem⾃⾏决定什么时候做同步sync_binlog=n。在进⾏n次事物提交之后,mysql将执⾏⼀次fsync之类的磁盘同步指令,通知⽂件系统将binlog⽂件的缓存刷新到磁盘。
auto_increment_increment=2 (Both、Dynamic)#**通⽤配置选项,⾃增长ID,必须相同,两台就为2,三台就为3,如果就主从就可以不设置
auto_increment_offset=1(Both、Dynamic)
#**通⽤配置选项,⾃增长的起始位置这⾥为1,第⼆台就必须为2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。