mysql参数配置文件

摘要:
参数配置文件中的内容以键值对的形式存在。通常,MySQL中的最大连接数默认为151,最大连接数可以达到16384.˃˃我的。ini文件中的设置:max_Connections=2003。如果MySQL服务器已启用二进制日志文件bin log,则必须为函数指定DEINISTIC、NOSQL和READSSQLDATA。log_bin=ONlog-bin=C:/ProgramData/MySQL/MySQLServer5.7\Data\sdxsBinaryLogbinlog忽略db=MySQL,information_schema5、thread_cache_Size=64,此参数通常与服务器的物理内存有关。当使用1G时,它被设置为8、2G-16、3G-32、4G-64。

(1)参数配置文件中的内容以键值对形式存在。

(2)如何查看键值对?show variables like '%name%';或者查看information_schema库下的global_variables视图;

mysql参数配置文件第1张

mysql参数配置文件第2张

如何修改呢?

mysql参数配置文件第3张

mysql参数配置文件第4张

1、innodb_buffer_pool_size=5G 

2、客户端连接数据库的最大连接数:。通常,mysql的最大连接数默认是151, 最大可以达到16384。

         >>show variables like '%max_connections%';

      >>set global max_connections=200。
>>my.ini文件中设置:max_connects = 200
3、如果mysql服务器开启了二进制日志文件bin-log,那么我们必须为我们的function指定DETERMINISTIC, NO SQL 和 READS SQL DATA 。否则备份导入异常。
mysql参数配置文件第5张
解决方案一:
>> show variables like 'log_bin_trust_function_creators';
>> set gloable log_bin_trust_function_creators=true;
在mysql的配置文件中添加
log_bin_trust_function_creators=true
解决方案二:
在定义函数时,添加必要的说明。
4、配置二进制日志文件:在mysql5.7中的my.ini文件中的mysqld项下添加如下三个选项。

       log_bin=ON
       log-bin=C:/ProgramData/MySQL/MySQL Server 5.7\Data\sdxsBinaryLog
       binlog-ignore-db = mysql,information_schema

5、thread_cache_size=64,该参数一般与服务器物理内存有关,1G时设置成8,2G---16,3G--32,4G--64。默认值是10,显然在一般的服务器中就不合适。
6、查询缓存配置:MYSQL的查询缓存用于缓存select查询结果,并在下次接收到同样的查询。请求时,不再执行实际查询处理而直接返回结果。有这样的查询缓存能提高查询的速度,
使查询性能得到优化,前提条件是你有大量的相同或相似的查询,而很少改变表里的数据,否则没有必要使用此功能。可以通过Qcache_lowmem_prunes变量的值来检查是否当前的值满足你目前系统的负载。
注意:如果你查询的表更新比较频繁,而且很少有相同的查询,最好不要使用查询缓存。当有大量的查询和大量的修改时,cache机制可能会造成性能下降。因为每次修改会导致系统去做cache失效操作。
1)query_caceh_type=0/1/2。表示查询缓存是否开启,分别代表不开启,始终开启,按需开启。默认不开启。如果设置为1,将会缓存所有的结果,
除非你的select语句使用SQL_NO_CACHE禁用了查询缓存;如果设置为2,则只缓存在select语句中通过SQL_CACHE指定需要缓存的查询。
启用查询缓存,只要查询语句中添加了参数:sql_cache,且符合查询缓存的要求,客户端的查询语句和记录集,则可以缓存起来,共其他客户端使用。
   2)query_cache_size=64M。表示给缓存分配的最大内存空间。将query_cache_size设置为具体的大小,具体大小是多少取决于查询的实际情况,但最好设置为1024的倍数,参考值32M
启用查询缓存,只要查询语句中添加了参数:sql_cache,且符合查询缓存的要求,客户端的查询语句和记录集,则可以缓存起来,共其他客户端使用;
允许设置query_cache_size的值最小为40K,对于最大值则可以几乎认为无限制,实际生产环境的应用经验告诉我们,该值并不是越大, 查询缓存的命中率就越高,
也不是对服务器负载下降贡献大,反而可能抵消其带来的好处,甚至增加服务器的负载,至于该如何设置,下面的章节讲述,推荐设置 为:64M
3)query_cache_limit=1M。限制查询缓存区最大能缓存的查询记录集,可以避免一个大的查询记录集占去大量的内存区域。
4)query_cache_min_res_unit=4K。设置查询缓存分配内存的最小单位,要适当地设置此参数,可以做到为减少内存块的申请和分配次数,但是设置过大可能导致内存碎片数值上升。默认值为4K,建议设置为1k~16K
5)query_cache_wlock_invalidate=0。该参数主要涉及MyISAM引擎,若一个客户端对某表加了写锁,其他客户端发起的查询请求,且查询语句有对应的查询缓存记录,
是否允许直接读取查询缓存的记录集信息,还是等待写锁的释放。默认设置为0,也即允许
6)清空查询缓存的数据:FLUSH TABLES;RESET QUERY CACHE;
7)碎片整理的操作语句:FLUSH QUERY CACHE;
7、开启了bin-log后需要设置:log-bin-trust-function-creators=1。否则出现下面1418错误
mysql参数配置文件第6张

mysql参数配置文件第7张

8、innodb_buffer_pool_size=12G。发现这个参数在高并发高I/O时正确的配置非常重要,可能带来很大的性能提升。
innodb_buffer_pool_size参数表示缓冲池字节大小,InnoDB缓存表和索引数据的内存区域
该值一般设置成总内存的70%到80%。用于缓存索引和数据的内存大小,
这个当然是越多越好, 数据读写在内存中非常快, 减少了对磁盘的读写。
最大值与你的CPU体系结构有关,在32位操作系统,最大值是 4294967295 (2^32-1) ,在64 位操作系统,最大值为18446744073709551615 (2^64-1)。
在32位操作系统中,CPU和操作系统实用的最大大小低于设置的最大值。如果设定的缓冲池的大小大于1G,设置innodb_buffer_pool_instances的值大于1,
在服务器繁忙的时候可以提高伸缩性,不过在实际的测试中,发现带来的性能提升并不明显,初步设置innodb_buffer_pool_instances为1。
innodb_buffer_pool_instances=8 在很小的 buffer_pool 大小时有很大的不同,而使用大的buffer_pool时,innodb_buffer_pool_instances=1的表现最棒。
这是你安装完InnoDB后第一个应该设置的选项。缓冲池是数据和索引缓存的地方:这个值越大越好,这能保证你在大多数的读取操作时使用的是内存而不是硬盘。
典型的值是5-6GB(8GB内存),20-25GB(32GB内存),100-120GB(128GB内存)。建议使用物理内存的 75%
9、innodb_buffer_pool_instances=8。可以开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写。
等于8是默认值,当设置大的innodb_buffer_pool_size时,该值设置成1最佳。大概一个1G的innodb_buffer_pool_size对应一个instance。12G的buffer pool,那么instances有10
10、innodb_buffer_pool_chunk_size。MySQL 5.7.5后Innodb_buffer_pool_size一方面可以动态分配。但另一方面也引入了一个新特性。
bp分配必须是innodb_buffer_pool_chunk_size的倍数。
同时最好是:innodb_buffer_pool_chunk_size*innodb_buffer_pool_instances默认是128M。
11、innodb_log_file_size=1024M设置单个innodb日志文件的大小。默认情况下,InnoDB 使用两个值。
mysql参数配置文件第8张

12、max_connections=10000
mysql参数配置文件第9张

13、max_allowed_packet = 16M。mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。
mysql默认接受data最大是1M,也就是超过了就会失败。
14、sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'。不然,在给char类型的字段插入值时,如果超过255个字符就会报错。
sql_mode的默认值是:'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

mysql参数配置文件第10张

15、

免责声明:文章转载自《mysql参数配置文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu安装libssl-dev失败(依靠aptitude管理降级软件)并记录dpkg展示安装软件列表报错:Error while fetching metadata with correlation id 67 : {alarmHis=LEADER_NOT_AVAILABLE}下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(四)Cacti安装配置

一、Cacti 监控介绍 1、Cacti简介 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。 简单的说Cacti 就是一个PHP 程序。它通过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL 工具绘...

使用动态SQL处理table_name作为输入参数的存储过程(MySQL)

关于mysql如何创建和使用存储过程,参考笔记《MySQL存储过程和函数创建》以及官网:https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html 本篇主要示例使用了输入参数的存储过程,并解决使用表名作为输入参数的问题,因为之前遇到过需要使用表名作为参数的存储过程,很难处理。 问题描述: 假设...

使用logstash同步Mysql数据表到ES的一点感悟

针对单独一个数据表而言,大致可以分如下两种情况: 1.该数据表中有一个根据当前时间戳更新的字段,此时监控的是这个时间戳字段 具体可以看这个文章:https://www.cnblogs.com/sanduzxcvbnm/p/12858967.html 示例: modification_time就是表中要监控的时间戳字段 input { jdbc {...

大数据 CDH 6.2 安装

环境信息 如果是单节点的,建议将虚拟机的内存最小设置为8G,硬盘大小为100G 类别 版本 备注 CDH 6.2.0 下载网址 数据库 mysql 5.7 系统 CentOS7 jdk 1.8 cdh 修改过的 parcels 下载网址 CDH6.2.0中的软件版本信息 Component Component Ve...

C#编程中关于数据缓存的经验总结一直以来,

C#编程中关于数据缓存的经验总结一直以来,我都发现程序的运行速度不够理想。通过查代码,发现程序对数据库的访问非常频繁,而且检索出来的数据量比较大。为了让程序运行快起来,我想对程序采用适当的缓存方法。我在C#尝试了5种方法进行数据缓存,具体如下:(如有遗漏,错误欢迎大家指正,欢迎提建议。)1:Session方法:此方法是针对于每个用户来的,如果用户量比较大,...

Asp.net Mvc 使用EF6 code first 方式连接MySQL总结

最近由于服务器变更为Linux系统.MsSql for Linux什么时候出来到生产环境使用还是要很长时间的.于是考虑使用Mysql数据库,ORM使用EF.于是先踩下坑顺便记录一下,有需要的tx可以参考下.当你考虑使用EF连接Mysql的时候肯定是已经在网上搜了一堆教程.网上教程基本都是使用控制台做演示.跟着一步步来姿势没错的话可能会正常运行,但项目中使用...