mysql 8.0 配置文件my.cnf中文注解_小时候的阳光的博客-CSDN博客_mysql8 my.cnf


本站和网页 https://blog.csdn.net/gzt19881123/article/details/109511245 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

mysql 8.0 配置文件my.cnf中文注解_小时候的阳光的博客-CSDN博客_mysql8 my.cnf
mysql 8.0 配置文件my.cnf中文注解
小时候的阳光
于 2020-11-05 14:20:35 发布
11327
收藏
35
分类专栏:
mysql
文章标签:
mysql
my.cnf
中文
mysql8
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gzt19881123/article/details/109511245
版权
mysql
专栏收录该内容
21 篇文章
0 订阅
订阅专栏
针对 mysql8.0.22 的配置文件 my.cnf 配置项进行中文标注,以便后面查阅
my.cnf for MySQL 8.0.x 本配置参考 https://imysql.com/my-cnf-wizard.html 注意:
(1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务(2)请根据实际情况作调整部分参数(3)本人不对这些建议结果负相应责任 ,仅作参考
###########################################################################
## my.cnf for MySQL 8.0.x
## 本配置参考 https://imysql.com/my-cnf-wizard.html
## 注意:
## (1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务
## (2)请根据实际情况作调整部分参数
## (3)本人不对这些建议结果负相应责任 ,仅作参考
###########################################################################
###########################################################################
##客户端参数配置
###########################################################################
[client]
port= 3306
socket=/var/lib/mysql/mysqld.sock
[mysql]
#prompt="\u@mysqldb \R:\m:\s [\d]> "
#关闭自动补全sql命令功能
no-auto-rehash
###########################################################################
##服务端参数配置
###########################################################################
[mysqld]
port= 3306
datadir= /var/lib/mysql
socket= /var/lib/mysql/mysqld.sock
log-error = /var/lib/mysql/error.log
pid-file = /var/lib/mysql/mysqld.pid
#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数
default_time_zone = "+8:00"
#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
# 执行sql的模式,规定了sql的安全等级, 暂时屏蔽,my.cnf文件中配置报错
#sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
#它控制着mysqld进程能使用的最大文件描述(FD)符数量。
#需要注意的是这个变量的值并不一定是你设定的值,mysqld会在系统允许的情况下尽量获取更多的FD数量
open_files_limit = 65535
#最大连接数
max_connections = 300
#最大错误连接数
max_connect_errors = 600
#在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
#官方建议 back_log = 50 + (max_connections / 5),封顶数为65535,默认值= max_connections
back_log = 110
# The number of open tables for all threads
# For example, for 200 concurrent running connections, specify a table cache size of at least 200 * N,
# where N is the maximum number of tables per join in any of the queries which you execute.
table_open_cache = 600
# The number of table definitions that can be stored in the definition cache
# MIN(400 + table_open_cache / 2, 2000)
table_definition_cache = 700
# 为了减少会话之间的争用,可以将opentables缓存划分为table_open_cache/table_open_cache_instances个小缓存
table_open_cache_instances = 64
# 每个线程的堆栈大小 如果线程堆栈太小,则会限制执行复杂SQL语句
thread_stack = 512K
# 禁止外部系统锁
external-locking = FALSE
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M
#order by 或group by 时用到
#建议先调整为4M,后期观察调整
sort_buffer_size = 4M
#inner left right join时用到
#建议先调整为4M,后期观察调整
join_buffer_size = 4M
# How many threads the server should cache for reuse.
# 如果您的服务器每秒达到数百个连接,则通常应将thread_cache_size设置得足够高,以便大多数新连接使用缓存线程
# default value = 8 + ( max_connections / 100) 上限为100
thread_cache_size = 20
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
#--###########################-- 慢SQL日志记录 开始 --##########################################
#是否启用慢查询日志,1为启用,0为禁用
slow_query_log = 1
#记录系统时区
log_timestamps = SYSTEM
#指定慢查询日志文件的路径和名字
slow_query_log_file = /var/lib/mysql/slow.log
#慢查询执行的秒数,必须达到此值可被记录
long_query_time = 5
#将没有使用索引的语句记录到慢查询日志
log_queries_not_using_indexes = 0
#设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
log_throttle_queries_not_using_indexes = 60
#对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中
min_examined_row_limit = 5000
#记录执行缓慢的管理SQL,如alter table,analyze table, check table, create index, drop index, optimize table, repair table等。
log_slow_admin_statements = 0
#作为从库时生效, 从库复制中如何有慢sql也将被记录
#对于ROW格式binlog,不管执行时间有没有超过阈值,都不会写入到从库的慢查询日志
log_slow_slave_statements = 1
#--###########################-- 慢SQL日志记录 结束 --##########################################
#--###########################-- Bin-Log设置 开始 --############################################
server-id = 110
#开启bin log 功能
log-bin=mysql-bin
#binlog 记录内容的方式,记录被操作的每一行
binlog_format = ROW
#对于binlog_format = ROW模式时,FULL模式可以用于误操作后的flashBack。
#如果设置为MINIMAL,则会减少记录日志的内容,只记录受影响的列,但对于部分update无法flashBack
binlog_row_image = FULL
#bin log日志保存的天数
#如果 binlog_expire_logs_seconds 选项也存在则 expire_logs_days 选项无效
#expire_logs_days 已经被标注为过期参数
#expire_logs_days = 7
binlog_expire_logs_seconds = 1209600
#master status and connection information输出到表mysql.slave_master_info中
master_info_repository = TABLE
#the slave's position in the relay logs输出到表mysql.slave_relay_log_info中
relay_log_info_repository = TABLE
#作为从库时生效, 想进行级联复制,则需要此参数
log_slave_updates
#作为从库时生效, 中继日志relay-log可以自我修复
relay_log_recovery = 1
#作为从库时生效, 主从复制时忽略的错误
#如果在备份过程中执行ddl操作,从机需要从主机的备份恢复时可能会异常,从而导致从机同步数据失败
#如果对数据完整性要求不是很严格,那么这个选项确实可以减轻维护的成本
slave_skip_errors = ddl_exist_errors
#####RedoLog日志 和 binlog日志的写磁盘频率设置 BEGIN ###################################
# RedoLog日志(用于增删改事务操作) + binlog日志(用于归档,主从复制)
# 为什么会有两份日志呢?
# 因为最开始MySQL没有 InnoDB 引擎,自带MyISAM引擎没有 crash-safe能力,binlog日志只用于归档
# InnoDB 引擎是另一个公司以插件形式引入MySQL的,采用RedoLog日志来实现 crash-safe 能力
# redo log 的写入(即事务操作)拆成两阶段提交(2PC):prepare阶段 和 commit阶段
#(事务步骤1) 执行commit命令,InnoDB redo log 写盘,然后告知Mysql执行器:[你可以写binlog了,且一并提交事务],事务进入 prepare 状态
#(事务步骤2) 如果前面 prepare 成功,Mysql执行器生成 binlog 并且将binlog日志写盘
#(事务步骤3) 如果binlog写盘成功,Mysql执行器一并调用InnoDB引擎的提交事务接口,事务进入 commit 状态,操作完成,事务结束
#参数设置成 1,每次事务都直接持久化到磁盘
#参数设置成 0,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。
#参数设置成 2,只有在操作系统崩溃或者系统掉电的情况下,上一秒钟所有事务数据才可能丢失。
#即便都设置为1,服务崩溃或者服务器主机crash,Mysql也可能丢失但最多一个事务
#控制 redolog 写磁盘频率 默认为1
innodb_flush_log_at_trx_commit = 1
#控制 binlog 写磁盘频率
sync_binlog = 1
#####RedoLog日志 和 binlog日志的写磁盘频率设置 END #####################################
#一般数据库中没什么大的事务,设成1~2M,默认32kb
binlog_cache_size = 4M
#binlog 能够使用的最大cache 内存大小
max_binlog_cache_size = 2G
#单个binlog 文件大小 默认值是1GB
max_binlog_size = 1G
#开启GTID复制模式
gtid_mode = on
#强制gtid一致性,开启后对于create table ... select ...或 CREATE TEMPORARY TABLE 将不被支持
enforce_gtid_consistency = 1
#解决部分无主键表导致的从库复制延迟问题
#其基本思路是对于在一个ROWS EVENT中的所有前镜像收集起来,
#然后在一次扫描全表时,判断HASH中的每一条记录进行更新
#该参数已经被标注为过期参数
#slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'
# default value is CRC32
#binlog_checksum = 1
# default value is ON
#relay-log-purge = 1
#--###########################-- Bin-Log设置 结束 --##########################################
#--###########################-- 可能用到的MyISAM性能设置 开始 --#############################
#对MyISAM表起作用,但是内部的临时磁盘表是MyISAM表,也要使用该值。
#可以使用检查状态值 created_tmp_disk_tables 得知详情
key_buffer_size = 15M
#对MyISAM表起作用,但是内部的临时磁盘表是MyISAM表,也要使用该值,
#例如大表order by、缓存嵌套查询、大容量插入分区。
read_buffer_size = 8M
#对MyISAM表起作用 读取优化
read_rnd_buffer_size = 4M
#对MyISAM表起作用 插入优化
bulk_insert_buffer_size = 64M
#--###########################-- 可能用到的MyISAM性能设置 开始 --################################
#--###########################-- innodb性能设置 开始 --##########################################
# Defines the maximum number of threads permitted inside of InnoDB.
# A value of 0 (the default) is interpreted as infinite concurrency (no limit)
innodb_thread_concurrency = 0
#一般设置物理存储的 60% ~ 70%
innodb_buffer_pool_size = 8G
#当缓冲池大小大于1GB时,将innodb_buffer_pool_instances设置为大于1的值,可以提高繁忙服务器的可伸缩性
innodb_buffer_pool_instances = 4
#默认启用。指定在MySQL服务器启动时,InnoDB缓冲池通过加载之前保存的相同页面自动预热。 通常与innodb_buffer_pool_dump_at_shutdown结合使用
innodb_buffer_pool_load_at_startup = 1
#默认启用。指定在MySQL服务器关闭时是否记录在InnoDB缓冲池中缓存的页面,以便在下次重新启动时缩短预热过程
innodb_buffer_pool_dump_at_shutdown = 1
# Defines the name, size, and attributes of InnoDB system tablespace data files
innodb_data_file_path = ibdata1:1G:autoextend
#InnoDB用于写入磁盘日志文件的缓冲区大小(以字节为单位)。默认值为16MB
innodb_log_buffer_size = 32M
#InnoDB日志文件组数量
innodb_log_files_in_group = 3
#InnoDB日志文件组中每一个文件的大小
innodb_log_file_size = 2G
#是否开启在线回收(收缩)undo log日志文件,支持动态设置,默认开启
innodb_undo_log_truncate = 1
#当超过这个阀值(默认是1G),会触发truncate回收(收缩)动作,truncate后空间缩小到10M
innodb_max_undo_log_size = 4G
#The path where InnoDB creates undo tablespaces
#没有配置则在数据文件目录下
#innodb_undo_directory = /var/lib/mysql/undolog
#用于设定创建的undo表空间的个数
#已经弃用了,只能手动添加undo表空间
#The innodb_undo_tablespaces variable is deprecated and is no longer configurable as of MySQL 8.0.14
#innodb_undo_tablespaces = 95
#提高刷新脏页数量和合并插入数量,改善磁盘I/O处理能力
#根据您的服务器IOPS能力适当调整
#一般配普通SSD盘的话,可以调整到 10000 - 20000
#配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
#如果打开参数innodb_flush_sync, checkpoint时,flush操作将由page cleaner线程来完成,此时page cleaner会忽略io capacity的限制,进入激烈刷脏
innodb_flush_sync = 0
innodb_flush_neighbors = 0
#CPU多核处理能力设置,假设CPU是4颗8核的,设置如下
#读多,写少可以设成 2:6的比例
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_open_files = 65535
innodb_max_dirty_pages_pct = 50
#该参数针对unix、linux,window上直接注释该参数.默认值为 NULL
#O_DIRECT减少操作系统级别VFS的缓存和Innodb本身的buffer缓存之间的冲突
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 4000
innodb_checksum_algorithm = crc32
#为了获取被锁定的资源最大等待时间,默认50秒,超过该时间会报如下错误:
# ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
innodb_lock_wait_timeout = 20
#默认OFF,如果事务因为加锁超时,会回滚上一条语句执行的操作。如果设置ON,则整个事务都会回滚
innodb_rollback_on_timeout = 1
#强所有发生的死锁错误信息记录到 error.log中,之前通过命令行只能查看最近一次死锁信息
innodb_print_all_deadlocks = 1
#在创建InnoDB索引时用于指定对数据排序的排序缓冲区的大小
innodb_sort_buffer_size = 67108864
#控制着在向有auto_increment 列的表插入数据时,相关锁的行为,默认为2
#0:traditonal (每次都会产生表锁)
#1:consecutive (mysql的默认模式,会产生一个轻量锁,simple insert会获得批量的锁,保证连续插入)
#2:interleaved (不会锁表,来一个处理一个,并发最高)
innodb_autoinc_lock_mode = 1
#表示每个表都有自已独立的表空间
innodb_file_per_table = 1
#指定Online DDL执行期间产生临时日志文件的最大大小,单位字节,默认大小为128MB。
#日志文件记录的是表在DDL期间的数据插入、更新和删除信息(DML操作),一旦日志文件超过该参数指定值时,
#DDL执行就会失败并回滚所有未提交的当前DML操作,所以,当执行DDL期间有大量DML操作时可以提高该参数值,
#但同时也会增加DDL执行完成时应用日志时锁定表的时间
innodb_online_alter_log_max_size = 4G
#--###########################-- innodb性能设置 结束 --##########################################
[mysqldump]
quick
max_allowed_packet = 128M
小时候的阳光
关注
关注
点赞
35
收藏
打赏
评论
mysql 8.0 配置文件my.cnf中文注解
针对 mysql8.0.22 的配置文件 my.cnf 配置项进行中文标注,以便后面查阅my.cnf for MySQL 8.0.x本配置参考 https://imysql.com/my-cnf-wizard.html注意:(1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务(2)请根据实际情况作调整部分参数(3)本人不对这些建议结果负相应责任 ,仅作参考###################################################.
复制链接
扫一扫
专栏目录
Linux下安装mysql8.0及其配置文件设置.docx
07-17
有安装。有卸载。有配置文件修改,,
MySQL 8.0 的详细 配置 my.cnf
03-20
MySQL 教程 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库
MySQL8.0数据库的一般配置 Linux环境的配置文件
评论 1
您还未登录,请先
登录
后发表或查看评论
Mac安装mysql8及问题
最新发布
墨迹斑斑的老墙
11-27
43
版本:8.0.31,官方下载。创建了my.cnf内容。
MySQL 8.x配置文件
oYiQiYi1的博客
10-22
334
mysql配置
MySQL各版本my.cnf配置文件.rar
01-12
MySQL 5.6、5.7、8.0版本的my.cnf完整配置文件,亲测可用,配置文件中优化了MySQL中的一些默认配置项,能够有效的提高MySQL数据库的并发处理能力!
CentOS7下MySQL8的主主互备安装文档和my.cnf配置文件
12-17
CentOS7操作系统在VM虚拟机下的安装,MySQL8.0.13在CentOS7下的主主互备,以及附带my.cnf的详细配置,带有注释。
mysql生成 my.cnf_mysql配置文件my.cnf一键生成工具
weixin_39727105的博客
01-19
1429
前言MYSQL是一种开放源代码关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。MySQL因为其速度、可靠性和适应性而备受关注。成为当前最流行的数据库之一。在安装mysql的过程中,可能让人感觉困扰,就是不知道mysql的配置参数如何设置,设置成多少才合情合理。分享一个my.cnf的自动生成工具,只需要填写几个选项,就生成符合你要求的my.cn...
MySQL 8.0如何配置my.cnf
热门推荐
程序员云帆哥的博客
11-16
3万+
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
#服务端口号 默认3306
port = 3306
#mysql安装根目录
basedir = /usr/local/mysql
#mysql数据文件所在位置
datadir = /usr/loc...
mysql8.0的my.cnf_Mysql8.0版二进制安装(my.cnf文件灵活编写)
weixin_42528902的博客
01-27
1145
新版本mysql二进制安装遇到不少坑(慢慢磨合吧)系统环境:centos7.6这里我安装的是mysql-8.0.21-linux-glibc2.17-x86_64-minimal.tar.xz (官网有各种大小的包,这里我下载的是二进制的包,便于修改配置)官网下载:https://dev.mysql.com/downloads/mysql/下载好后,开始安装:1,第一步 先卸载可能会影响...
mysql8.0的my.cnf_my.cnf_8.0
weixin_39704066的博客
02-18
234
[client]port = 3307socket = /home/mysql/mysqldb/run/mysql.sockdefault-character-set = utf8mb4#prompt = \\u@\\h:\\...
MySql8.x版本my.cnf文件配置详解
黑帽子技术的博客
08-08
785
## my.cnf for 8.0版本
## 注意:个别建议可能需要根据实际情况作调整,请自行判断或联系我,本人不对这些建议结果负相应责任
## 本配置文件主要适用于MySQL 8.0版本
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysql]
#登录提示语
prompt = "\u@mys...
mysql 8.0的一份my.cnf配置笔记
一个人的人生
03-12
2312
my.cnf
[mysqldump]
socket=/data/mysql/dbcfg/mysql.sock
[mysql]
user=dbadmin
socket=/data/mysql/dbcfg/mysql.sock
[mysqladmin]
socket=/data/mysql/dbcfg/mysql.sock
[mysqld]
derault_authentication_plugin=mysql_native_password
basedir=/opt/mysql
datadir=/data/m
MySQL8.0.12 安装及配置
qqwangfan的专栏
06-05
1万+
转自:https://blog.csdn.net/missing2011/article/details/81474857
一.安装
1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/
2. 下载完成后解压
我解压的路径是:D:\Java\mysql-8.0.12-winx64
3. ...
CentOS下的MySQL8.0的my.cnf配置文件
Android_la的博客
10-26
3487
文章目录一. 问题背景二. my.cnf
一. 问题背景
CentOS搭建MySQL8.0集群,搭建详情可查看烹饪MySQL8.0 Cluster这道菜。这里记录mysql的配置文件my.cnf
二. my.cnf
配置中的ip地址都是集群中的ip地址,可根据自己情况修改ip地址。使用了3台虚拟机搭建集群,其中一台做router以及写入,另外两台做读取数据
[mysqld]
character-set-server=utf8
port=3306
socket=/tmp/mysql.sock
base
mysql数据库my.cnf配置文件
04-22
[client]
port = 3306
socket=/home/mysql/data/mysql.sock
[mysqld]
lower_case_table_names=1
user = mysql
#--- 表示MySQL的管理用户
port = 3306
#--- 端口
#basedir=/usr/local/mysql
socket=/home/mysql/data/mysql.sock
#-- 启动的sock文件
datadir=/home/mysql/data
log-bin=/home/mysql/mysql-bin
log-error=/home/mysql/log/mysqld.log
pid-file =/home/mysql/mysqld.pid
bind-address = 0.0.0.0
server-id = 1
#表示是本机的序号为1,一般来讲就是master的意思
skip-grant-tables
skip-name-resolve
# 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,
# 则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求
#skip-networking
back_log = 600
# MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,
# 然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。
# 如果期望在一个短时间内有很多连接,你需要增加它。也就是说,如果MySQL的连接数据达到max_connections时,新来的请求将会被存在堆栈中,
# 以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。
# 另外,这值(back_log)限于您的操作系统对到来的TCP/IP连接的侦听队列的大小。
# 你的操作系统在这个队列大小上有它自己的限制(可以检查你的OS文档找出这个变量的最大值),试图设定back_log高于你的操作系统的限制将是无效的。
max_connections = 500
# MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。
max_connect_errors = 6000
# 对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接。如需对该主机进行解禁,执行:FLUSH HOST。
open_files_limit = 65535
# MySQL打开的文件描述符限制,默认最小1024;当open_files_limit没有被配置的时候,比较max_connections*5和ulimit -n的值,哪个大用哪个,
# 当open_file_limit被配置的时候,比较open_files_limit和max_connections*5的值,哪个大用哪个.
table_open_cache = 128
# MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。默认值64
# 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件描述符数目);
# 当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上
max_allowed_packet = 1000000000
# 接受的数据包大小;增加该变量的值十分安全,这是因为仅当需要时才会分配额外内存。例如,仅当你发出长查询或MySQLd必须返回大的结果行时MySQLd才会分配更多内存。
# 该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。
binlog_cache_size = 1M
# 一个事务,在没有提交的时候,产生的日志,记录到Cache中;等到事务提交需要提交的时候,则把日志持久化到磁盘。默认binlog_cache_size大小32K
max_heap_table_size = 67108864
# 定义了用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变
tmp_table_size = 67108864
# MySQL的heap(堆积)表缓冲大小。所有联合在一个DML指令内完成,并且大多数联合甚至可以不用临时表即可以完成。
# 大多数临时表是基于内存的(HEAP)表。具有大的记录长度的临时表 (所有列的长度的和)或包含BLOB列的表存储在硬盘上。
# 如果某个内部heap(堆积)表大小超过tmp_table_size,MySQL可以根据需要自动将内存中的heap表改为基于硬盘的MyISAM表。还可以通过设置tmp_table_size选项来增加临时表的大小。也就是说,如果调高该值,MySQL同时将增加heap表的大小,可达到提高联接查询速度的效果
read_buffer_size = 4194304
# MySQL读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。
# 如果对表的顺序扫描请求非常频繁,并且你认为频繁扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能
read_rnd_buffer_size = 4194304
# MySQL的随机读缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。进行排序查询时,
# MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大
sort_buffer_size = 4194304
# MySQL执行排序使用的缓冲大小。如果想要增加ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段。
# 如果不能,可以尝试增加sort_buffer_size变量的大小
join_buffer_size = 8388608
# 联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享
thread_cache_size = 8
# 这个值(默认8)表示可以重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,
# 如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,如果有很多新的线程,
# 增加这个值可以改善系统性能.通过比较Connections和Threads_created状态的变量,可以看到这个变量的作用。(–>表示要调整的值)
# 根据物理内存设置规则如下:
# 1G —> 8
# 2G —> 16
# 3G —> 32
# 大于3G —> 64
#query_cache_size = 8M
#MySQL的查询缓冲大小(从4.0.1开始,MySQL提供了查询缓冲机制)使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,
# 今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。
# 通过检查状态值'Qcache_%',可以知道query_cache_size设置是否合理:如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,
# 如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,
# 这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲
#query_cache_limit = 2M
#指定单个查询能够使用的缓冲区大小,默认1M
key_buffer_size = 1048576
#指定用于索引的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,
# 系统将开始换页并且真的变慢了。对于内存在4GB左右的服务器该参数可设置为384M或512M。通过检查状态值Key_read_requests和Key_reads,
# 可以知道key_buffer_size设置是否合理。比例key_reads/key_read_requests应该尽可能的低,
# 至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE 'key_read%'获得)。注意:该参数值设置的过大反而会是服务器整体效率降低
ft_min_word_len = 4
# 分词词汇最小长度,默认4
transaction_isolation = REPEATABLE-READ
# MySQL支持4种事务隔离级别,他们分别是:
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
# 如没有指定,MySQL默认采用的是REPEATABLE-READ,ORACLE默认的是READ-COMMITTED
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
#超过30天的binlog删除
slow_query_log = 1
long_query_time = 1 #慢查询时间 超过1秒则为慢查询
slow_query_log_file = /home/mysql/data/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_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_files
innodb_open_files = 500
# 限制Innodb能打开的表的数据,如果库里的表特别多的情况,请增加这个。这个值默认是300
innodb_buffer_pool_size = 1048576
# InnoDB使用一个缓冲池来保存索引和原始数据, 不像MyISAM.
# 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.
# 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
# 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.
# 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,
# 所以不要设置的太高.
innodb_write_io_threads = 4
innodb_read_io_threads = 4
# innodb使用后台线程处理数据页上的读写 I/O(输入输出)请求,根据你的 CPU 核数来更改,默认是4
# 注:这两个参数不支持动态改变,需要把该参数加入到my.cnf里,修改完后重启MySQL服务,允许值的范围从 1-64
innodb_thread_concurrency = 0
# 默认设置为 0,表示不限制并发数,这里推荐设置为0,更好去发挥CPU多核处理能力,提高并发量
innodb_purge_threads = 1
# InnoDB中的清除操作是一类定期回收无用数据的操作。在之前的几个版本中,清除操作是主线程的一部分,这意味着运行时它可能会堵塞其它的数据库操作。
# 从MySQL5.5.X版本开始,该操作运行于独立的线程中,并支持更多的并发数。用户可通过设置innodb_purge_threads配置参数来选择清除操作是否使用单
# 独线程,默认情况下参数设置为0(不使用单独线程),设置为 1 时表示使用单独的清除线程。建议为1
innodb_flush_log_at_trx_commit = 2
# 0:如果innodb_flush_log_at_trx_commit的值为0,log buffer每秒就会被刷写日志文件到磁盘,提交事务的时候不做任何操作(执行是由mysql的master thread线程来执行的。
# 主线程中每秒会将重做日志缓冲写入磁盘的重做日志文件(REDO LOG)中。不论事务是否已经提交)默认的日志文件是ib_logfile0,ib_logfile1
# 1:当设为默认值1的时候,每次提交事务的时候,都会将log buffer刷写到日志。
# 2:如果设为2,每次提交事务都会写日志,但并不会执行刷的操作。每秒定时会刷到日志文件。要注意的是,并不能保证100%每秒一定都会刷到磁盘,这要取决于进程的调度。
# 每次事务提交的时候将数据写入事务日志,而这里的写入仅是调用了文件系统的写入操作,而文件系统是有 缓存的,所以这个写入并不能保证数据已经写入到物理磁盘
# 默认值1是为了保证完整的ACID。当然,你可以将这个配置项设为1以外的值来换取更高的性能,但是在系统崩溃的时候,你将会丢失1秒的数据。
# 设为0的话,mysqld进程崩溃的时候,就会丢失最后1秒的事务。设为2,只有在操作系统崩溃或者断电的时候才会丢失最后1秒的数据。InnoDB在做恢复的时候会忽略这个值。
# 总结
# 设为1当然是最安全的,但性能页是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能
innodb-buffer-pool-size = 128M
innodb_log_buffer_size = 4194304
# 此参数确定些日志文件所用的内存大小,以M为单位。缓冲区更大能提高性能,但意外的故障将会丢失数据。MySQL开发人员建议设置为1-8M之间
innodb_log_file_size = 268435456
# 此参数确定数据日志文件的大小,更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间
innodb_log_files_in_group = 3
# 为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3
innodb_max_dirty_pages_pct = 90
# innodb主线程刷新缓存池中的数据,使脏数据比例小于90%
innodb_lock_wait_timeout = 120
# InnoDB事务在被回滚之前可以等待一个锁定的超时秒数。InnoDB在它自己的锁定表中自动检测事务死锁并且回滚事务。InnoDB用LOCK TABLES语句注意到锁定设置。默认值是50秒
bulk_insert_buffer_size = 1024M
# 批量插入缓存大小, 这个参数是针对MyISAM存储引擎来说的。适用于在一次性插入100-1000+条记录时, 提高效率。默认值是8M。可以针对数据量的大小,翻倍增加。
myisam_sort_buffer_size = 1024M
# MyISAM设置恢复表之时使用的缓冲区的尺寸,当在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区
myisam_max_sort_file_size = 10G
# 如果临时文件会变得超过索引,不要使用快速排序索引方法来创建一个索引。注释:这个参数以字节的形式给出
myisam_repair_threads = 1
# 如果该值大于1,在Repair by sorting过程中并行创建MyISAM表索引(每个索引在自己的线程内)
interactive_timeout = 28800
# 服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。默认值:28800秒(8小时)
wait_timeout = 28800
# 服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,
# 取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。参数默认值:28800秒(8小时)
# MySQL服务器所支持的最大连接数是有上限的,因为每个连接的建立都会消耗内存,因此我们希望客户端在连接到MySQL Server处理完相应的操作后,
# 应该断开连接并释放占用的内存。如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,
# 最终肯定会达到MySQL Server的连接上限数,这会报'too many connections'的错误。对于wait_timeout的值设定,应该根据系统的运行情况来判断。
# 在系统运行一段时间后,可以通过show processlist命令查看当前系统的连接状态,如果发现有大量的sleep状态的连接进程,则说明该参数设置的过大,
# 可以进行适当的调整小些。要同时设置interactive_timeout和wait_timeout才会生效。
[mysqldump]
quick
max_allowed_packet = 16M
#服务器发送和接受的最大包长度
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
MySql8.0运行时需要的my.ini文件
04-18
安装版的MySql运行的时候 出现"服务无法启动 服务没有报告任何错误",j解决办法:在mysql的安装路径(C:\Program Files\MySQL\MySQL Server 8.0)中没有配置文件,则自己手动创建一个,文件名为:my.ini
Mac上安装Mysql8.0修改my.cnf配置文件(忽略大小写)
龙哥哥的博客
09-09
1523
Mysql安装后默认是区分大小写的,要想不区分大小写,必须删除/usr/local/mysql/data目录,自己编写my.cnf配置文件,并在my.cnf文件中增加参数。我们上面说了,默认情况下安装Mysql后不会生成my.cnf配置文件,但是有些参数我们需要修改,比如:默认端口、最大连接数、大小写敏感等。如上图所示,因为我们下载的是dmg文件,所以安装非常简单,只需要一路点下一步就好了。点击这个图标,我们可以看到我们的mysql已经启动了,如果没有启动,可以点击。,点击OK,这样就开始初始化了。
AndroidStudio中AAR/JAR的生成以及使用
BigManing的博客
03-22
1531
前提
使用AndroidStudio新建一个project,名字叫Test
在工程里新建一个module(library类型的),叫OneSDK,
工程Test不用依赖这个library。
在OneSDK中写入代码/放置资源(如果要混淆,要设置 minifyEnabled true,并设置好proguard-rules.pro)
aar组成:class文件+清单文件+资源文件生成
执行这个命令
Mysql的my.cnf配置文件详情
徘徊在牛A与牛C之间的码农
10-05
237
# 以下选项会被MySQL客户端应用读取。
# 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。
# 如果你想你自己的MySQL应用程序获取这些值。
# 需要在MySQL客户端库初始化的时候指定这些选项。
[client]
#password = [your_password]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
#...
Mysql8 my.cnf文件说明
a13826548428的博客
01-06
1355
my.cnf配置文件说明,组成部分section name+参数配置
[mysql] #section name 被mysql命令行客户端读取内容
parameter_name = value #parameter values
[mysqld] #section name 被mysql服务器读取
parameter_name = value #parameter values
[client] #被所有连接的客户端读取
parameter_name = value #parameter v..
mysql8.0初始化后找不到my.cnf文件
Drink_hot_water的博客
11-02
1981
mysql初始化后未找到配置文件
使用指令./mysql --help | grep my.cnf 查看配置文件的读取顺序,一般默认优先读取/etc/my.cnf若/etc/my.cnf文件不存在则需要新建该文件
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
character-set-server=utf8
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:创作都市
设计师:CSDN官方博客
返回首页
小时候的阳光
CSDN认证博客专家
CSDN认证企业博客
码龄13年
暂无认证
128
原创
4万+
周排名
1万+
总排名
47万+
访问
等级
3765
积分
86
粉丝
188
获赞
106
评论
620
收藏
私信
关注
热门文章
采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集
84484
关于MYSQL的配置文件my.cnf 一些存放位置和配置说明
41311
MySql5.7 配置文件 my.cnf 设置
41003
Maven parent.relativePath 说明
24949
SpringBoot2.x 给Controller的RequestMapping添加统一前缀
19582
分类专栏
Netty快速学习
3篇
vi
数据结构
2篇
程序人生
3篇
mysql
21篇
java
47篇
linux
13篇
window
3篇
进程
1篇
端口
1篇
占用
1篇
oracle
2篇
IntelliJ IDEA
2篇
git
2篇
前端框架
1篇
redis
1篇
maven
2篇
运维
32篇
最新评论
SpringBoot Elasticsearch 7.x 多条件分页查询
朝花不迟暮:
嗯嗯,我最近在做分页,如果用深分页scroll的话我还没研究过,不知道能不能跳页。然后search after的话,我知道不能跳页。所以很纠结,您这边有什么好方案吗?
SpringBoot Elasticsearch 7.x 多条件分页查询
小时候的阳光:
这种方法是浅分页, es深度分页比较耗内存, 可以看下 elasticsearchTemplate.startScroll 这个分页方法进行深度分页
SpringBoot Elasticsearch 7.x 多条件分页查询
朝花不迟暮:
这是浅分页吧?
flowable6.4 并行网关 驳回 跳转 回退 多实例加签减签
青春梦想&扬帆起航:
所有情况都写一个方法了,看不懂。能不能针对每种情况,都写个方法?
浅析知行合一
小时候的阳光:
知行合一的境界 就是面对需要抉择的问题,能很快甚至一瞬间如条件反射般做出决定且行动起来。
面对人世间的各种威逼利诱如何做出正确的选择? 只要每次选择自己都问心无愧、问心无悔 即可,能够做到这一层基本上已经算是了不起了。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Grafana+loki+promtail 收集logback微服务日志
Windows通过route命令设置可同时访问内网和外网
MySQL8创建登录账号
2022年12篇
2021年22篇
2020年50篇
2019年17篇
2018年2篇
2017年13篇
2016年12篇
2015年3篇
目录
目录
分类专栏
Netty快速学习
3篇
vi
数据结构
2篇
程序人生
3篇
mysql
21篇
java
47篇
linux
13篇
window
3篇
进程
1篇
端口
1篇
占用
1篇
oracle
2篇
IntelliJ IDEA
2篇
git
2篇
前端框架
1篇
redis
1篇
maven
2篇
运维
32篇
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
小时候的阳光
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值