MySQL配置文件my.cnf 比如最具体翻译,能够保存做笔记用。ITeye头条 - 众发娱乐

MySQL配置文件my.cnf 比如最具体翻译,能够保存做笔记用。ITeye头条

2019-01-31 09:57:19 | 作者: 春海 | 标签: 文件,运用,设置 | 浏览: 2833

# 此mysql装备文件比如针对4G内存,并在 bt下载与  小说520,这两个日ip 2w ,pv 20w  测试过的。  # 首要运用INNODB #处理杂乱行列而且衔接数量较少的mysql效劳器 # 将此文件仿制到/etc/my.cnf 作为大局设置, # mysql-data-dir/my.cnf 作为效劳器指定设置 # (@localstatedir@ for this installation) 或许放入 # ~/.my.cnf 作为用户设置. # 在此装备文件中, 你能够运用一切程序支撑的长选项. # 假如想得悉程序支撑的一切选项 # 请在程序后加上"help"参数运转程序. # 关于独立选项更多的细节信息能够在手册内找到 # 以下选项会被MySQL客户端运用读取. # 留意只要MySQL顺便的客户端运用程序确保能够读取这段内容. # 假如你想你自己的MySQL运用程序获取这些值 # 需求在MySQL客户端库初始化的时分指定这些选项 [client] #password = [your_password] port = @MYSQL_TCP_PORT@ socket = @MYSQL_UNIX_ADDR@ # *** 运用定制选项 *** #  MySQL 效劳端 [mysqld] # 一般装备选项 port = @MYSQL_TCP_PORT@ socket = @MYSQL_UNIX_ADDR@ # back_log 是操作体系在监听行列中所能坚持的衔接数, # 行列保存了在MySQL衔接管理器线程处理之前的衔接. # 假如你有十分高的衔接率而且呈现"connection refused" 报错, # 你就应该添加此处的值. # 查看你的操作体系文档来获取这个变量的最大值. # 假如将back_log设定到比你操作体系束缚更高的值,将会没有效果 back_log = 50 # 不在TCP/IP端口上进行监听. # 假如一切的进程都是在同一台效劳器衔接到本地的mysqld, # 这样设置将是增强安全的办法 # 一切mysqld的衔接都是经过Unix sockets 或许命名管道进行的. # 留意在windows下假如没有翻开命名管道选项而只是用此项 # (经过 "enable-named-pipe" 选项) 将会导致mysql效劳没有任何效果! #skip-networking # MySQL 效劳所答应的一同会话数的上限 # 其间一个衔接将被SUPER权限保存作为管理员登录. # 即使现已到达了衔接数的上限. max_connections = 100 一般像在我这个 pv 10w   max_connections=30 就够了。可是假如页面都像 这个甜性涩爱页面相同,max_connections=30是不行的。 # 每个客户端衔接最大的过错答应数量,假如到达了此束缚. # 这个客户端将会被MySQL效劳阻挠直到履行了"FLUSH HOSTS" 或许效劳重启 # 不合法的暗码以及其他在链接时的过错会添加此值. # 查看 "Aborted_connects" 状况来获取大局计数器. max_connect_errors = 10 # 一切线程所翻开表的数量. # 添加此值就添加了mysqld所需求的文件描绘符的数量 # 这样你需求承认在[mysqld_safe]中 "open-files-limit" 变量设置翻开文件数量答应至少4096 table_cache = 2048 # 答应外部文件等级的锁. 翻开文件锁会对功用形成负面影响 # 所以只要在你在相同的文件上运转多个数据库实例时才运用此选项(留意仍会有其他束缚!) # 或许你在文件层面上运用了其他一些软件依靠来确定MyISAM表 #external-locking # 效劳所能处理的恳求包的最大巨细以及效劳所能处理的最大的恳求巨细(当与大的BLOB字段一同作业时恰当必要) # 每个衔接独立的巨细.巨细动态添加 max_allowed_packet = 16M # 在一个业务中binlog为了记载SQL状况所持有的cache巨细 # 假如你常常运用大的,多声明的业务,你能够添加此值来获取更大的功用. # 一切从业务来的状况都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中 # 假如业务比此值大, 会运用磁盘上的暂时文件来替代. # 此缓冲在每个衔接的业务第一次更新状况时被创立 binlog_cache_size = 1M # 独立的内存表所答应的最大容量. # 此选项为了避免意外创立一个超大的内存表导致永尽一切的内存资源. max_heap_table_size = 64M # 排序缓冲被用来处理相似ORDER BY以及GROUP BY行列所引起的排序 # 假如排序后的数据无法放入排序缓冲, # 一个用来替代的根据磁盘的兼并分类会被运用 # 查看 "Sort_merge_passes" 状况变量. # 在排序发作时由每个线程分配 sort_buffer_size = 8M # 此缓冲被运用来优化全联合(full JOINs 不带索引的联合). # 相似的联合在极大大都状况下有十分糟糕的功用体现, # 可是将此值设大能够减轻功用影响. # 经过 "Select_full_join" 状况变量查看全联合的数量 # 当全联合发作时,在每个线程中分配 join_buffer_size = 8M # 咱们在cache中保存多少线程用于重用 # 当一个客户端断开衔接后,假如cache中的线程还少于thread_cache_size, # 则客户端线程被放入cache中. # 这能够在你需求许多新衔接的时分极大的削减线程创立的开支 # (一般来说假如你有好的线程模型的话,这不会有显着的功用进步.) thread_cache_size = 8 # 此答应运用程序给予线程体系一个提示在同一时刻给予巴望被运转的线程的数量. # 此值只关于支撑 thread_concurrency() 函数的体系有意义( 例如Sun Solaris). # 你或许够测验运用 [CPU数量]*(2..4) 来作为thread_concurrency的值 thread_concurrency = 8 # 查询缓冲常被用来缓冲 SELECT 的成果而且在下一次相同查询的时分不再履行直接回来成果. # 翻开查询缓冲能够极大的进步效劳器速度, 假如你有许多的相同的查询而且很少修正表. # 查看 "Qcache_lowmem_prunes" 状况变量来查看是否当时值关于你的负载来说是否满足高. # 留意: 在你表常常改变的状况下或许假如你的查询原文每次都不同, # 查询缓冲或许引起功用下降而不是功用进步. query_cache_size = 64M # 只要小于此设定值的成果才会被缓冲 # 此设置用来维护查询缓冲,避免一个极大的成果集将其他一切的查询成果都掩盖. query_cache_limit = 2M # 被全文检索索引的最小的字长. # 你或许期望削减它,假如你需求查找更短字的时分. # 留意在你修正此值之后, # 你需求重建你的 FULLTEXT 索引 ft_min_word_len = 4 # 假如你的体系支撑 memlock() 函数,你或许期望翻开此选项用以让运转中的mysql在在内存高度严重的时分,数据在内存中坚持确定而且避免或许被swapping out # 此选项关于功用有利 #memlock # 当创立新表时作为默许运用的表类型, # 假如在创立表明没有特别履行表类型,将会运用此值 default_table_type = MYISAM # 线程运用的堆巨细. 此容量的内存在每次衔接时被预留. # MySQL 自身常不会需求超越64K的内存 # 假如你运用你自己的需求许多堆的UDF函数 # 或许你的操作体系关于某些操作需求更多的堆, # 你或许需求将其设置的更高一点. thread_stack = 192K # 设定默许的业务阻隔等级.可用的等级如下: # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE transaction_isolation = REPEATABLE-READ # 内部(内存中)暂时表的最大巨细 # 假如一个表增长到比此值更大,将会主动转换为根据磁盘的表. # 此束缚是针对单个表的,而不是总和. tmp_table_size = 64M # 翻开二进制日志功用. # 在仿制(replication)装备中,作为MASTER主效劳器有必要翻开此项 # 假如你需求从你最终的备份中做根据时刻点的康复,你也相同需求二进制日志. log-bin=mysql-bin # 假如你在运用链式从效劳器结构的仿制形式 (A- B- C), # 你需求在效劳器B上翻开此项. # 此选项翻开在从线程上重做过的更新的日志, # 并将其写入从效劳器的二进制日志. #log_slave_updates # 翻开全查询日志. 一切的由效劳器接收到的查询 (乃至关于一个过错语法的查询) # 都会被记载下来. 这关于调试十分有用, 在出产环境中常常封闭此项. #log # 将正告打印输出到过错log文件.  假如你关于MySQL有任何问题 # 你应该翻开正告log而且细心查看过错日志,查出或许的原因. #log_warnings # 记载慢速查询. 慢速查询是指耗费了比 "long_query_time" 界说的更多时刻的查询. # 假如 log_long_format 被翻开,那些没有运用索引的查询也会被记载. # 假如你常常添加新查询到已有的体系内的话. 一般来说这是一个好主意, log_slow_queries # 一切的运用了比这个时刻(以秒为单位)更多的查询会被以为是慢速查询. # 不要在这儿运用"1", 不然会导致一切的查询,乃至十分快的查询页被记载下来(因为MySQL 现在时刻的精确度只能到达秒的等级). long_query_time = 2 # 在慢速日志中记载更多的信息. # 一般此项最好翻开. # 翻开此项会记载使得那些没有运用索引的查询也被作为到慢速查询附加到慢速日志里 log_long_format # 此目录被MySQL用来保存暂时文件.例如, # 它被用来处理根据磁盘的大型排序,和内部排序相同. # 以及简略的暂时表. # 假如你不创立十分大的暂时文件,将其放置到 swapfs/tmpfs 文件体系上或许比较好 # 另一种挑选是你也能够将其放置在独立的磁盘上. # 你能够运用";"来放置多个途径 # 他们会依照roud-robin办法被轮询运用. #tmpdir = /tmp # ***  仿制有关的设置 # 仅有的效劳辨识号,数值坐落 1 到 2^32-1之间. # 此值在master和slave上都需求设置. # 假如 "master-host" 没有被设置,则默许为1, 可是假如疏忽此选项,MySQL不会作为master收效. server-id = 1 # 仿制的Slave (去掉master段的注释来使其收效) # 为了装备此主机作为仿制的slave效劳器,你能够挑选两种办法: # 1) 运用 CHANGE MASTER TO 指令 (在咱们的手册中有完好描绘) - #    语法如下: #    CHANGE MASTER TO MASTER_HOST= host , MASTER_PORT= port , #    MASTER_USER= user , MASTER_PASSWORD= password #    你需求替换掉 host , user , password 等被尖括号围住的字段以及运用master的端口号替换 port (默许3306). #    比如: #    CHANGE MASTER TO MASTER_HOST=125.564.12.1, MASTER_PORT=3306, #    MASTER_USER=joe, MASTER_PASSWORD=secret; # 或许 # 2) 设置以下的变量. 不论如何, 在你挑选这种办法的状况下, 然后第一次发动仿制(乃至不成功的状况下, #     例如假如你输入错暗码在master-password字段而且slave无法衔接), #    slave会创立一个 master.info 文件,而且之后任何关于包括在此文件内的参数的改变都会被疏忽 #    而且由 master.info 文件内的内容掩盖, 除非你封闭slave效劳, 删去 master.info 而且重启slave 效劳. #    因为这个原因,你或许不想碰一下的装备(注释掉的) 而且运用 CHANGE MASTER TO (查看上面) 来替代 # 所需求的仅有id号坐落 2 和 2^32 - 1之间 # (而且和master不同) # 假如master-host被设置了.则默许值是2 # 可是假如省掉,则不会收效 #server-id = 2 # 仿制结构中的master - 有必要 #master-host = hostname # 当衔接到master上时slave所用来认证的用户名 - 有必要 #master-user = username # 当衔接到master上时slave所用来认证的暗码 - 有必要 #master-password = password # master监听的端口. # 可选 - 默许是3306 #master-port = port # 使得slave只读.只要用户具有SUPER权限和在上面的slave线程能够修正数据. # 你能够运用此项去确保没有运用程序会意外的修正slave而不是master上的数据 #read_only #*** MyISAM 相关选项 # 关键词缓冲的巨细, 一般用来缓冲MyISAM表的索引块. # 不要将其设置大于你可用内存的30%, # 因为一部分内存相同被OS用来缓冲行数据 # 乃至在你并不运用MyISAM 表的状况下, 你也需求依旧设置起 8-64M 内存因为它相同会被内部暂时磁盘表运用. key_buffer_size = 32M # 用来做MyISAM表全表扫描的缓冲巨细. # 当全表扫描需求时,在对应线程中分配. read_buffer_size = 2M # 当在排序之后,从一个现已排序好的序列中读取行时,行数据将从这个缓冲中读取来避免磁盘寻道. # 假如你增高此值,能够进步许多ORDER BY的功用. # 当需求时由每个线程分配 read_rnd_buffer_size = 16M # MyISAM 运用特别的相似树的cache来使得突发刺进 # (这些刺进是,INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., 以及 LOAD DATA # INFILE) 更快. 此变量束缚每个进程中缓冲树的字节数. # 设置为 0 会封闭此优化. # 为了最优化不要将此值设置大于 "key_buffer_size". # 当突发刺进被检测届时此缓冲将被分配. bulk_insert_buffer_size = 64M # 此缓冲当MySQL需求在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配. # 这在每个线程中被分配.所以在设置大值时需求当心. myisam_sort_buffer_size = 128M # MySQL重建索引时所答应的最大暂时文件的巨细 (当 REPAIR, ALTER TABLE 或许 LOAD DATA INFILE). # 假如文件巨细比此值更大,索引会经过键值缓冲创立(更慢) myisam_max_sort_file_size = 10G # 假如被用来更快的索引创立索引所运用暂时文件大于拟定的值,那就运用键值缓冲办法. # 这首要用来强制在大表中长字串键去运用慢速的键值缓冲办法来创立索引. myisam_max_extra_sort_file_size = 10G # 假如一个表具有超越一个索引, MyISAM 能够经过并行排序运用超越一个线程去修正他们. # 这关于具有多个CPU以及许多内存状况的用户,是一个很好的挑选. myisam_repair_threads = 1 # 主动查看和修正没有恰当封闭的 MyISAM 表. myisam_recover # 默许封闭 Federated skip-federated # *** BDB 相关选项 *** # 假如你运转的MySQL效劳有BDB支撑可是你不准备运用的时分运用此选项. 这会节约内存而且或许加快一些事. skip-bdb # *** INNODB 相关选项 *** # 假如你的MySQL效劳包括InnoDB支撑可是并不计划运用的话, # 运用此选项会节约内存以及磁盘空间,而且加快某些部分 #skip-innodb # 附加的内存池被InnoDB用来保存 metadata 信息 # 假如InnoDB为此意图需求更多的内存,它会开端从OS这儿请求内存. # 因为这个操作在大大都现代操作体系上现已满足快, 你一般不需求修正此值. # SHOW INNODB STATUS 指令会显现领先运用的数量. innodb_additional_mem_pool_size = 16M # InnoDB运用一个缓冲池来保存索引和原始数据, 不像 MyISAM. # 这儿你设置越大,你在存取表里边数据时所需求的磁盘I/O越少. # 在一个独立运用的数据库效劳器上,你能够设置这个变量到效劳器物理内存巨细的80% # 不要设置过大,不然,因为物理内存的竞赛或许导致操作体系的换页波动. # 留意在32位体系上你每个进程或许被束缚在 2-3.5G 用户层面内存束缚, # 所以不要设置的太高. innodb_buffer_pool_size = 2G # InnoDB 将数据保存在一个或许多个数据文件中成为表空间. # 假如你只要单个逻辑驱动保存你的数据,一个单个的自增文件就满足好了. # 其他状况下.每个设备一个文件一般都是个好的挑选. # 你也能够装备InnoDB来运用裸盘分区 - 请参考手册来获取更多相关内容 innodb_data_file_path = ibdata1:10M:autoextend # 设置此选项假如你期望InnoDB表空间文件被保存在其他分区. # 默许保存在MySQL的datadir中. #innodb_data_home_dir = directory # 用来同步IO操作的IO线程的数量. This value is # 此值在Unix下被硬编码为4,可是在Windows磁盘I/O或许在一个大数值下体现的更好. innodb_file_io_threads = 4 # 假如你发现InnoDB表空间损坏, 设置此值为一个非零值或许协助你导出你的表. # 从1开端而且添加此值知道你能够成功的导出表. #innodb_force_recovery=1 # 在InnoDb核心内的答应线程数量. # 最优值依靠于运用程序,硬件以及操作体系的调度办法. # 过高的值或许导致线程的互斥波动. innodb_thread_concurrency = 16 # 假如设置为1 ,InnoDB会在每次提交后改写(fsync)业务日志到磁盘上, # 这供给了完好的ACID行为. # 假如你情愿对业务安全折衷, 而且你正在运转一个小的食物, 你能够设置此值到0或许2来削减由业务日志引起的磁盘I/O # 0代表日志只大约每秒写入日志文件而且日志文件改写到磁盘. # 2代表日志写入日志文件在每次提交后,可是日志文件只要大约每秒才会改写到磁盘上. innodb_flush_log_at_trx_commit = 1 # 加快InnoDB的封闭. 这会阻挠InnoDB在封闭时做全铲除以及刺进缓冲兼并. # 这或许极大添加关机时刻, 可是取而代之的是InnoDB或许在下次发动时做这些操作. #innodb_fast_shutdown # 用来缓冲日志数据的缓冲区的巨细. # 当此值快满时, InnoDB将有必要改写数据到磁盘上. # 因为基本上每秒都会改写一次,所以没有必要将此值设置的太大(乃至关于长业务而言) innodb_log_buffer_size = 8M # 在日志组中每个日志文件的巨细. # 你应该设置日志文件总合巨细到你缓冲池巨细的25%~100% # 来避免在日志文件覆写上不必要的缓冲池改写行为. # 不论如何, 请留意一个大的日志文件巨细会添加康复进程所需求的时刻. innodb_log_file_size = 256M # 在日志组中的文件总数. # 一般来说2~3是比较好的. innodb_log_files_in_group = 3 # InnoDB的日志文件所在位置. 默许是MySQL的datadir. # 你能够将其指定到一个独立的硬盘上或许一个RAID1卷上来进步其功用 #innodb_log_group_home_dir # 在InnoDB缓冲池中最大答应的脏页面的份额. # 假如到达限额, InnoDB会开端改写他们避免他们阻碍到洁净数据页面. # 这是一个软束缚,不被确保肯定履行. innodb_max_dirty_pages_pct = 90 # InnoDB用来改写日志的办法. # 表空间总是运用两层写入改写办法 # 默许值是 "fdatasync", 另一个是 "O_DSYNC". #innodb_flush_method=O_DSYNC # 在被回滚前,一个InnoDB的业务应该等候一个锁被同意多久. # InnoDB在其具有的锁表中主动检测业务死锁而且回滚业务. # 假如你运用 LOCK TABLES 指令, 或许在相同业务中运用除了InnoDB以外的其他业务安全的存储引擎 # 那么一个死锁或许发作而InnoDB无法留意到. # 这种状况下这个timeout值关于处理这种问题就十分有协助. innodb_lock_wait_timeout = 120 [mysqldump] # 不要在将内存中的整个成果写入磁盘之前缓存. 在导出十分巨大的表时需求此项 quick max_allowed_packet = 16M [mysql] no-auto-rehash # 只是答应运用键值的 UPDATEs 和 DELETEs . #safe-updates [isamchk] key_buffer = 512M sort_buffer_size = 512M read_buffer = 8M write_buffer = 8M [myisamchk] key_buffer = 512M sort_buffer_size = 512M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout [mysqld_safe] # 添加每个进程的可翻开文件数量. # 正告: 承认你现已将全体系束缚设定的满足高! # 翻开许多表需求将此值设高 j  open-files-limit = 8192
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    Oracle 简略运用huabian

    运用,数据库,用户
  • 3
  • 4
  • 5

    MySql标准fenghuang

    标准,进程,修正
  • 6

    数据库相关itjob

    触发器,时刻
  • 7
  • 8
  • 9

    oracle extractITeye环球

    部分,类型,时分
  • 10