当前位置: 首页 > news >正文

mysql配置文件低于8.0版本慎用(头部声明的路径请自行替换或删减)(干货)

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'datadir=/data/mysql/data
socket=/data/mysql/mysql.socklog-error=/data/mysql/log/mysql_error.log
pid-file=/data/mysql/mysqld.pidserver_id=1
#如果做集群不同mysql server_id 不能一样gtid_mode=ONenforce_gtid_consistency=ONbinlog_checksum=NONEback_log = 512key_buffer_size = 16Mmax_connections = 3000# innodb_buffer_pool_size设置成物理内存80%   按照如下配置,mysql所在服务器内存最好是32G
innodb_buffer_pool_size = 20G#innodb_buffer_pool_instances:
#innodb_buffer_pool_size<1G时,设置为1
#innodb_buffer_pool_size>=1G时,设置为8
#innodb_buffer_pool_size为innodb_buffer_pool_instances*innodb_buffer_pool_chunk_size的倍数
#innodb_buffer_pool_instances参数依赖机器的cpu颗数
innodb_buffer_pool_instances = 10innodb_buffer_pool_chunk_size = 1Gmax_connect_errors = 6000open_files_limit = 65535table_open_cache = 8000
#MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。默认值64
# 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件描述符数目);
# 当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上max_allowed_packet = 1G
# 接受的数据包大小;增加该变量的值十分安全,这是因为仅当需要时才会分配额外内存。例如,仅当你发出长查询或MySQLd必须返回大的结果行时MySQLd才会分配更多内存。
# 该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。binlog_cache_size = 1M
# 一个事务,在没有提交的时候,产生的日志,记录到Cache中;等到事务提交需要提交的时候,则把日志持久化到磁盘。默认binlog_cache_size大小32Kmax_heap_table_size = 128M
# 定义了用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变tmp_table_size = 16Mread_buffer_size = 8M
# MySQL读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。
# 如果对表的顺序扫描请求非常频繁,并且你认为频繁扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能read_rnd_buffer_size = 16M
# MySQL的随机读缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。进行排序查询时,
# MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大sort_buffer_size = 16M
# MySQL执行排序使用的缓冲大小。如果想要增加ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段。
# 如果不能,可以尝试增加sort_buffer_size变量的大小join_buffer_size = 8M
# 联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享thread_cache_size = 8
# 这个值(默认8)表示可以重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,
# 如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,如果有很多新的线程,
# 增加这个值可以改善系统性能.通过比较Connections和Threads_created状态的变量,可以看到这个变量的作用。(–>表示要调整的值)
# 根据物理内存设置规则如下:
# 1G  —> 8
# 2G  —> 16
# 3G  —> 32
# 大于3G  —> 64ft_min_word_len = 4
# 分词词汇最小长度,默认4transaction_isolation = REPEATABLE-READ
# MySQL支持4种事务隔离级别,他们分别是:
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
# 如没有指定,MySQL默认采用的是REPEATABLE-READ,ORACLE默认的是READ-COMMITTEDlog_bin = mysql-bin
binlog_format = mixed
binlog_expire_logs_seconds = 2592000 #超过30天的binlog删除slow_query_log = 1
long_query_time = 1 #慢查询时间 超过1秒则为慢查询
slow_query_log_file = /data/mysql/log/mysql_slow.log#performance_schema = 0
explicit_defaults_for_timestamplower_case_table_names = 1 #不区分大小写skip-external-locking #MySQL选项以避免外部锁定。该选项默认开启default-storage-engine = InnoDB #默认存储引擎innodb_file_per_table = 1
# InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
# 独立表空间优点:
# 1.每个表都有自已独立的表空间。
# 2.每个表的数据和索引都会存在自已的表空间中。
# 3.可以实现单表在不同的数据库中移动。
# 4.空间可以回收(除drop table操作处,表空不能自已回收)
# 缺点:
# 单表增加过大,如超过100G
# 结论:
# 共享表空间在Insert操作上少有优势。其它都没独立表空间表现好。当启用独立表空间时,请合理调整:innodb_open_filesinnodb_open_files = 10000
# 限制Innodb能打开的表的数据,如果库里的表特别多的情况,请增加这个。这个值默认是300innodb_write_io_threads = 4
innodb_read_io_threads = 4
# innodb使用后台线程处理数据页上的读写 I/O(输入输出)请求,根据你的 CPU 核数来更改,默认是4
# 注:这两个参数不支持动态改变,需要把该参数加入到my.cnf里,修改完后重启MySQL服务,允许值的范围从 1-64innodb_thread_concurrency = 0
# 默认设置为 0,表示不限制并发数,这里推荐设置为0,更好去发挥CPU多核处理能力,提高并发量innodb_purge_threads = 1
# InnoDB中的清除操作是一类定期回收无用数据的操作。在之前的几个版本中,清除操作是主线程的一部分,这意味着运行时它可能会堵塞其它的数据库操作。
# 从MySQL5.5.X版本开始,该操作运行于独立的线程中,并支持更多的并发数。用户可通过设置innodb_purge_threads配置参数来选择清除操作是否使用单
# 独线程,默认情况下参数设置为0(不使用单独线程),设置为 1 时表示使用单独的清除线程。建议为1innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 4M
# 此参数确定些日志文件所用的内存大小,以M为单位。缓冲区更大能提高性能,但意外的故障将会丢失数据。MySQL开发人员建议设置为1-8M之间innodb_redo_log_capacity= 300Minnodb_max_dirty_pages_pct = 90
# innodb主线程刷新缓存池中的数据,使脏数据比例小于90%innodb_lock_wait_timeout = 120 
# InnoDB事务在被回滚之前可以等待一个锁定的超时秒数。InnoDB在它自己的锁定表中自动检测事务死锁并且回滚事务。InnoDB用LOCK TABLES语句注意到锁定设置。默认值是50秒innodb_sort_buffer_size = 64Mbulk_insert_buffer_size = 8M
# 批量插入缓存大小, 这个参数是针对MyISAM存储引擎来说的。适用于在一次性插入100-1000+条记录时, 提高效率。默认值是8M。可以针对数据量的大小,翻倍增加。myisam_sort_buffer_size = 64M
# MyISAM设置恢复表之时使用的缓冲区的尺寸,当在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区myisam_max_sort_file_size = 10G
# 如果临时文件会变得超过索引,不要使用快速排序索引方法来创建一个索引。注释:这个参数以字节的形式给出interactive_timeout = 28800
# 服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。默认值:28800秒(8小时)wait_timeout = 28800
#普通用户也可以创建函数和触发器
log_bin_trust_function_creators=1
http://www.lryc.cn/news/252205.html

相关文章:

  • 给WordPress文章添加广告位
  • [GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
  • 23种设计模式之C++实践(一)
  • 华为OD机试 - 园区参观路径(Java JS Python C)
  • 【ARM Trace32(劳特巴赫) 使用介绍 12 -- Trace32 常用命令之 d.dump | data.dump 介绍】
  • 【Git】Git撤销操作
  • 改造python3中的http.server为简单的文件上传下载服务
  • Fiddler抓包工具之fiddler的composer可以简单发送http协议的请求
  • 14、pytest像用参数一样使用fixture
  • C++ Primer Plus第十三章笔记
  • 【JavaEE】单例模式
  • 第十五届蓝桥杯模拟赛(第二期 C++)
  • 关于Unity中字典在Inspector的显示
  • 使用Plex结合cpolar搭建本地私人媒体站并实现远程访问
  • svn合并冲突时每个选项的含义
  • 指针、数组与函数例题3
  • ThreeJs样例 webgl_shadow_contact 分析
  • Nginx(缓冲区)
  • MQTT协议理解并实践
  • 实现一个简单的网络通信下(udp)
  • Linux中office环境LibreOffice_7.6.2下载
  • Linux快捷控制
  • 免费插件集-illustrator插件-Ai插件-重复复制-单一对象页面排版
  • GO基础之变量与常量
  • Docker Compose简单入门
  • 使用 PHPMailer 实现邮件的实时发送
  • 在Spring Boot中使用JavaMailSender发送邮件
  • python动态圣诞下雪图
  • 随心玩玩(十)git
  • 每日一练【盛最多水的容器】