mysql.ini环境配置_MySQL配置文件mysql.ini参数详解

my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数。

my.ini分为两块:Client Section和Server Section。

Client Section用来配置MySQL客户端参数。

要查看配置参数可以用下面的命令:

show variables like '%innodb%'; # 查看innodb相关配置参数

show status like '%innodb%'; # 查看innodb相关的运行时参数(比如当前正在打开的表的数量,当前已经打开的表的数量)

show global status like 'open%tables'; # 查看全局的运行时参数,加上global是对当前mysql服务器中运行的所有数据库实例进行统计。不加global则只对当前数据库实例进行统计。

1、Client Section

[client]

port = 3306 # 设置mysql客户端连接服务端时默认使用的端口

[mysql]

default-character-set=utf8 # 设置mysql客户端默认字符集

2、Server Section

48304ba5e6f9fe08f3fa1abda7d326ab.png

[mysqld]

port=3306 # mysql服务端默认监听(listen on)的TCP/IP端口

basedir="C:/Program Files/MySQL/MySQL Server 5.5/" # 基准路径,其他路径都相对于这个路径

datadir="C:/Program Files/MySQL/MySQL Server 5.5/Data" # mysql数据库文件所在目录

character-set-server=latin1 # 服务端使用的字符集默认为8比特编码的latin1字符集

default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # SQL模式为strict模式

max_connections=100 # mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。

query_cache_size=0 # 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反

table_cache=256 # 这个参数在5.1.3之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与 max_connections有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。

tmp_table_size=34M # 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,临时表将自动转为基于磁盘的表(Disk Based Table)。

thread_cache_size=8 # 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。

48304ba5e6f9fe08f3fa1abda7d326ab.png

48304ba5e6f9fe08f3fa1abda7d326ab.png

# MyISAM相关参数

myisam_max_sort_file_size=100G # mysql重建索引时允许使用的临时文件最大大小

myisam_sort_buffer_size=68M

key_buffer_size=54M # Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)

read_buffer_size=64K # 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。

read_rnd_buffer_size=256K

sort_buffer_size=256K # connection级参数(为每个线程配置),500个线程将消耗500*256K的sort_buffer_size。

48304ba5e6f9fe08f3fa1abda7d326ab.png

48304ba5e6f9fe08f3fa1abda7d326ab.png

# InnoDB相关参数

innodb_additional_mem_pool_size=3M # InnoDB用于存储元数据信息的内存池大小,一般不需修改

innodb_flush_log_at_trx_commit =1 # 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。

innodb_log_buffer_size=2M # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。

innodb_buffer_pool_size=105M # InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。

innodb_log_file_size=53M # 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%

innodb_thread_concurrency=9 # InnoDB内核最大并发线程数

48304ba5e6f9fe08f3fa1abda7d326ab.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql数据备份在哪里_mysql之数据备份与恢复

本文内容: 复制文件法利用mysqldump利用select into outfile其它(列举但不介绍)首发日期:2018-04-19有些时候,在备份之前要先做flush tables ,确保所有数据都被写入到磁盘中。复制文件法:对于myisam存储引擎的数据库&a…

python opencv 边缘检测_Python使用Opencv实现边缘检测以及轮廓检测的实现

边缘检测Canny边缘检测器是一种被广泛使用的算法,并被认为是边缘检测最优的算法,该方法使用了比高斯差分算法更复杂的技巧,如多向灰度梯度和滞后阈值化。Canny边缘检测器算法基本步骤:平滑图像:通过使用合适的模糊半径…

web程序入门五(http无状态)

Asp.net中的状态保持方案: ViewState:是donet特有的 微软提供的对象来完成状态保持 ViewState["key1"] 11; 赋值 键值对 形式 object类型 ViewState["key1"] 直接取值,将其转化成相应的类型 原理:本质…

互评Beta版本(Hello World!——SkyHunter)

1 基于NABCD评论作品,及改进建议 SkyHunter这款游戏我很喜欢,小时候总玩飞机类的游戏,这款游戏我上课的时候试玩了,在我电脑上运行是很好玩的,音乐震撼,画面玄幻,富有金属音乐的味道&#xff0c…

unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度

var arr [1, 2];arr.unshift(0); //result of call is 3, the new array length //arr is [0, 1, 2]arr.unshift(-2, -1); // 5 //arr is [-2, -1, 0, 1, 2]arr.unshift( [-3] ); //arr is [[-3], -2, -1, 0, 1, 2]语法 arr.unshift(element1, ..., elementN)参数列表 elemen…

markdown基础语法整理

标题级别(一共六级) (建议在#后加一个空格比较标准) 通过在文字下方添加“”和“-”,他们分别表示一级标题和二级标题。在文字开头加上 “#”,通过“#”数量表示几级标题。(共1~6级标题,级别越小字体越大&a…

安卓源码下载

SetupSecurityPortingTuningCompatibilityReference转到源代码SetupGetting StartedDownloading and Building RequirementsEstablishing a Build EnvironmentDownloading the SourcePreparing to BuildCompiling with JackUsing Reference BoardsRunning BuildsBuilding Kerne…

mysql常用命令英文词汇_MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档

MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE %...%的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一…

dobbo 简单框架

转载于:https://www.cnblogs.com/huangjianping/p/7986881.html

spring mysql整合_springboot mybatis mysql 整合

1、pom文件配置mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter1.2.0org.springframework.bootspring-boot-starter-jdbc2、mybatis 数据库连接配置spring.datasource.driver-class…

微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?

微信小程序要加载网站数据库里面的真实数据,有一个硬性的要求,就是你的网站域名必须是https协议才行,要不然你第一步服务器域名配置你都通过不了,小编我也是前不久申请的https://www.100txy.com,具体申请步骤大家自行去…

mysql定时任务

1. 查看是否开启定时策略 show variables like %event_sche%; 若出现如下图,则此时是关闭状态 开启定时策略(重启无效) set global event_scheduler 1; 则需要在配置文件my.ini的设置(重启有效) [mysqld] event_schedulerON //这一行加入mysqld标签下 2. 创建存储过…

02使用常规步骤编译NanoPiM1Plus的Android4.4.2

02使用常规步骤编译NanoPiM1Plus的Android4.4.2 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本:V1.0 开发板:NanoPi M1 Plus/zh SDK:Android4.4.2 按照全志A33平台编译调通的功能&…

验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)

上一节我们成功将 Rex-Ray Volume 挂载到了 Service。本节验证 Failover 时,数据不会丢失。 Scale Up 增加一个副本: docker service update --replicas 2 my_web 运行之前我们先推测一下,理想的结果应该是:swarm 在 swarm-worker…

java multimap 序列化_C++ JSON库的使用

1. 如何使用?2. 常用方法2.1 创建json对象2.1.1 使用cin,cout输入输出流2.1.2 提供根据键直接生成键值对的方法2.1.3 json::array json::object2.1.4 几个区别2.2 序列化2.2.1 标准输出自动序列化2.2.2 使用dump()函数2.3 反序列化2.3.1 从标准输入反序列化2.3.2 通…

【Excle数据透透视表】如何删除数据透视表

选中区域A4:C17,在键盘上按DELETE键删除,结果提示:那么如何删除呢?解决方案选中整个数透视表,再删除具体操作:选中整个数据透视表→DELETE注意:删除之后,源数据不会受到影响转载于:https://www.…

java 启动redis服务器_docker启动redis并使用java连接

一、先查找镜像docker search redis二、拉取镜像docker pull redis三、等待拉取完毕四、查看拉去的镜像docker iamges五、运行redis连接1:https://blog.csdn.net/weixin_38956287/article/details/80423607连接2:http://www.runoob.com/docker/docker-in…

【算法学习】整体二分

我们开门见山,讲讲一道sb题: 给你一个数组,查这个数组的第x大元素。 排序?可以 二分?怎么做啊? 二分出一个mid,判断这个数组中有多少个数小于等于mid,如果个数大于等于x,…

mysql100个优化技巧_完整篇:100+个MySQL调试和优化技巧(2)

▼MySQL模式优化51.检查和经常优化表.52. 经常重写InnoDB表优化.53. 有时,当添加列时删除索引,然后在添加回来索引,这样就会更快.54. 针对不同的需求,使用不同的存储引擎.55. 使用归档存储引擎日志表或审计表-这是更有效地写道.56…

简单的SQL注入学习

引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt/lampp/htdocs目录下: 解释一下这个页面: 1.通过if语句判断变量是否初始化 2.if语句中通过mysql_conne…