MySQL常⽤配置参数
基本配置:
datadir:指定mysql的数据⽬录位置,⽤于存放mysql数据库⽂件、⽇志⽂件等。
配置⽰例:datadir=D:/wamp/mysqldata/Data
default-character-set:mysql服务器默认字符集设置。
配置⽰例:default-character-set=utf8
skip-grant-tables:当忘记mysql⽤户密码的时候,可以在mysql配置⽂件中配置该参数,跳过权限表验证,不需要密码即可登录mysql。
⽇志相关:
log-error:指定错误⽇志⽂件名称,⽤于记录当mysqld启动和停⽌时,以及服务器在运⾏过程中发⽣任何严重错误时的相关信息。
配置⽰例:log-error=""(默认在mysql数据⽬录下)
log-bin:指定⼆进制⽇志⽂件名称,⽤于记录对数据造成更改的所有查询语句。
配置⽰例:log-bin="WJT-PC-bin.log"(默认在mysql数据⽬录下)
binlog-do-db:指定将更新记录到⼆进制⽇志的数据库,其他所有没有显式指定的数据库更新将被忽略,不记录在⽇志中。
配置⽰例:binlog-do-db=db_name
binlog-ignore-db:指定不将更新记录到⼆进制⽇志的数据库,其他没有显式忽略的数据库都将进⾏记录。
配置⽰例:binlog-ignore-db=db_name如果想记录或忽略多个数据库,可以对上⾯两个选项分别使⽤多次。
sync-binlog:指定多少次写⽇志后同步磁盘。
配置⽰例:sync-binlog=N
general-log:是否开启查询⽇志记录。
配置⽰例:general-log=1
general_log_file:指定查询⽇志⽂件名,⽤于记录所有的查询语句。
配置⽰例:general_log_file="WJT-PC.log"(默认在mysql数据⽬录下)
slow-query-log:是否开启慢查询⽇志记录。
配置⽰例:slow-query-log=1
slow_query_log_file:指定慢查询⽇志⽂件名称,⽤于记录消耗时间较长的查询语句。
配置⽰例:slow_query_log_file="WJT-PC-slow.log"(默认在mysql数据⽬录下)
long_query_time:设置慢查询的时间,超过这个时间的查询语句才记录⽇志。
配置⽰例:long_query_time=10(单位:秒)
log-slow-admin-statements:是否将慢管理语句(例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE)写⼊慢查询⽇志。
存储引擎相关:
default-table-type:设置mysql的默认存储引擎。
innodb_data_home_dir:InnoDB引擎的共享表空间数据⽂件根⽬录。若没有设置,则使⽤mysql的datadir⽬录作为缺省⽬录。
innodb_data_file_path:单独指定共享表空间数据⽂件的路径与⼤⼩。数据⽂件的完整路径由innodb_data_home_dir与这⾥配置的值组合起来,⽂件⼤⼩以MB单位指定。
配置⽰例:innodb_data_home_dir=innodb_data_file_path=ibdata1:12M;/data/mysql/mysql3306/data1/ibdata2:12M:autoextend
如果想为innodb表空间指定不同⽬录下的⽂件,必须指定 innodb_data_home_dir =。这个例⼦中会在datadir下建⽴ibdata1,
在/data/MySQL/mysql3306/data1/⽬录下创建ibdata2。
innodb_file_per_table:是否开启独⽴表空间,若开启,InnoDB将使⽤独⽴的.idb⽂件创建新表⽽不是在共享表空间中创建。
配置⽰例:innodb_file_per_table=1
innodb_autoinc_lock_mode:配置在向有着auto_increment列的表插⼊数据时,相关锁的⾏为。该参数有3个取值:
0:tradition传统,所有的insert语句开始的时候得到⼀个表级的auto_inc锁,在语句结束的时候才能释放这个锁,影响了并发的插⼊。
1:consecutive连续,mysql可以⼀次⽣成⼏个连续的auto_inc的值,auto_inc不需要⼀直保持到语句结束,只要语句得到了相应的值后就可以提前释放锁(这也是mysql的默认模式)。
2:interleaved交错,这个模式下已经没有了auto_inc锁,所以性能是最好的,但是对于同⼀个语句来说它得到的auto_inc的值可能不是连续的。
mysql存储文档 配置⽰例:innodb_autoinc_lock_mode=1
low_priority_updates:在myisam引擎锁使⽤中,默认情况下写请求优先于读请求,可以通过将该参数设置为1来使myisam引擎给予读请求优先权限,所有的insert、update、delete和lock table write语句将等待直到受影响的表没有挂起的select或lock table read。
配置⽰例:low_priority_updates=0(默认配置)
max_write_lock_count:当⼀个myisam表的写锁定达到这个值后,mysql就暂时将写请求优先级降低,给部分读请求获得锁的机会。
innodb_lock_wait_timeout:InnoDB锁等待超时参数,若事务在该时间内没有获得需要的锁,则发⽣回滚。
配置⽰例:innodb_lock_wait_timeout=50(默认50秒)
max_heap_table_size:设置memory表的最⼤空间⼤⼩,该变量可以⽤来计算 memory表的max_rows值。在已有memory表上设置该参数是没有效果的,除⾮重建表。
查询相关:
max_sort_length:配置对blob或text类型的列进⾏排序时使⽤的字节数(只对配置的前max_sort_length个字节进⾏排序,其他的被忽略)
max_length_for_sort:mysql有两种排序算法,两次传输排序和单次传输排序。当查询需要所有列的总长度不超过max_length_for_sort时,mysql使⽤单次传输排序,否则使⽤两次传输排序。
optimizer_search_depth:在关联查询中,当需要关联的表数量超过optimizer_search_depth的时候,优化器会使⽤“贪婪”搜索的⽅式查“最优”的关联顺序。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论