MySQL配置参数示例

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

[mysqld]
#设置端口
#---------------------port----------------------------
port=5728

#---------------------dir----------------------------
#设置mysql的安装目录
basedir=D:\dbbase\mysql-5.7.28-winx64

#设置mysql数据库的数据的存放目录
datadir=D:\dbbase\mysql-5.7.28-winx64\data

#设置缓存数据的存放目录
#tmpdir=D:\dbbase\mysql-5.7.28-winx64\temp

#---------------------log----------------------------
#通用日志
general_log = 1
general_log_file=D:\dbbase\mysql-5.7.28-winx64\log\general.log

#错误日志
log_error=D:\dbbase\mysql-5.7.28-winx64\log\mysql-error.log

#慢查询日志
#slow_query_log = ON
#long_query_time=2
##mysql5.6版本以前
##log-slow-queries=D:\dbbase\mysql-5.7.28-winx64\log\mysql-slowquery.log
#mysql5.6版本之后
#slow-query-log-file=D:\dbbase\mysql-5.7.28-winx64\log\mysql-slowquery.log

#二进制日志
server-id=1
log-bin=D:\dbbase\mysql-5.7.28-winx64\log\mysql-bin.log
binlog-format=ROW
log_bin_trust_function_creators=1

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

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

#允许最大连接数
max_connections=1000

#查询缓存
query_cache_type=1
query_cache_size=1G

#临时表内存大小
tmp_table_size = 256M

#关闭严格模式
#ONLY_FULL_GROUP_BY 对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中,如果去掉该选项,只会对新增和修改的起作用,已经存在的函数需重建
#NO_AUTO_VALUE_ON_ZERO 该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户 希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。
#STRICT_TRANS_TABLES 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
#NO_ZERO_IN_DATE 在严格模式下,不允许日期和月份为零
#NO_ZERO_DATE 设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
#ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL
#NO_AUTO_CREATE_USER 禁止GRANT创建密码为空的用户
#NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
#PIPES_AS_CONCAT 将"
#ANSI_QUOTES 启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

#sql_mode=“NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY”
sql-mode=“STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

#TIMESTAMP初始化
explicit_defaults_for_timestamp=TRUE

#在5.7中,通过ssl方式连接mysql被作为默认和推荐。如果你并不需要(比如web端和db端同一台服务器,db服务器处于web端内网等),就可以不用使用ssl方式。
skip-ssl

max_allowed_packet = 200M

#放开导入数据权限
secure_file_priv=“”

#MyISAM
#用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)
key_buffer_size=8G

#用于对MyISAM表全表扫描时使用的缓冲区大小
read_buffer_size=64K

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

sort_buffer_size=256K

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

#InnoDB
#InnoDB buffer pool 里包含什么?
#数据缓存:InnoDB数据页面
#索引缓存:索引数据
#缓冲数据:脏页(在内存中修改尚未刷新(写入)到磁盘的数据)
#内部结构:如自适应哈希索引,行锁等。
#大的缓冲池可以减小多次磁盘I/O访问相同的表数据。在专用数据库服务器上,可以将缓冲池大小设置为服务器物理内存的80%。一般是60%-75%物理内存
innodb_buffer_pool_size=10G

#开启内存缓冲池的个数,当buffer_pool大时,该值小表现更好
innodb-buffer-pool-instances=1

#io读线程的个数,可根据cpu核心数调整,默认是4,几个cpu就填几
innodb_read_io_threads=6

#io写线程的个数,可根据cpu核心数调整,默认是4,几个cpu就填几
innodb_write_io_threads=6

#开启独立表空间,每个数据库的每个表都会生成一个独立的数据空间,.frm文件
innodb-file-per-table=true

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值