[client]
port=3306
[mysql]
no-beep
[mysqld]
port=3306
#basedir="E:/mysql5.7.29/"
datadir=E:/mysql5.7.29/Data
default_storage_engine=INNODB
sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log_output=FILE
slow_query_log=on
#不一定意味着不使用索引的查询。例如,使用全索引扫描的查询使用索引,但由于索引不会限制行数,因此将记录日志
log_queries_not_using_indexes=on
slow_query_log_file="E:/mysql5.7.29/logs/ZP8BEB954XREWPF-slow.log"
long_query_time=5
log_error="E:/mysql5.7.29/logs/ZP8BEB954XREWPF.err"
server_id=1
report_port=3306
lower_case_table_names=1
#目录不存在会报错
secure_file_priv="E:/mysql5.7.29/Uploads"
max_connections=151
table_open_cache=2000
# ?
tmp_table_size=36M
thread_cache_size=10
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=64M
key_buffer_size=8M
# ?
read_buffer_size=64K
# ?
read_rnd_buffer_size=256K
innodb_flush_log_at_trx_commit=1
# ?
innodb_log_buffer_size=1M
#默认为8M
innodb_buffer_pool_size=100M
#默认为48M
innodb_log_file_size=256M
innodb_thread_concurrency=9
innodb_autoextend_increment=64
# ?
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
# ?
join_buffer_size=256K
# 默认为4M
max_allowed_packet=16M
max_connect_errors=100
open_files_limit=4161
# ?
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
####custom settings#### 上面为mysql5.7默认配置,下面为个人配置
skip_name_resolve
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
explicit_defaults_for_timestamp = 1
innodb_log_group_home_dir = E:/mysql5.7.29/log_group_home_dir/
innodb_undo_directory = E:/mysql5.7.29/undolog/
log_timestamps = system
#字符集设置
#utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。
character_set_server=utf8mb4
collation_server = utf8mb4_unicode_ci
//禁止域名解析,通过在第一次建立连接时缓存IP和host name的映射关系,同一主机的后续连接将直接查看host cache,而不用再次进行DNS解析,ost cache中同样会包含IP登录失败的错误信息。可根据这些信息,对这些IP进行相应的限制
只能使用ip连接(可能需要使用-h 或 --host参数)
skip_name_resolve
#https://www.cnblogs.com/zqifa/p/mysql-3.html
explicit_defaults_for_timestamp = 1 (未来版本删除)
#开启慢查询日志
slow_query_log = 1
#innodb settings
#数据缓冲区buffer pool大小,建议使用物理内存的 75%
#这个是Innodb最重要的参数,主要作用是缓存innodb表的索引,数据,插入数据时的缓冲. 如果是一个专用DB服务器,那么它可以占到内存的70%-80%。并不是设置的越大越好。设置的过大,会导致system的swap空间被占用,导致操作系统变慢,从而减低sql查询的效率。如果你的数据比较小,那么可分配是你的数据大小+10%左右做为这个参数的值。例如:数据大小为50M,那么给这个值分配innodb_buffer_pool_size=64M就够了。
innodb_buffer_pool_size = 2G
#日志组所在的路径,默认为data的home目录;
innodb_log_group_home_dir = /data/mysql/
#undo日志用于存放数据修改被修改前的值,假设修改 tba 表中 id=2的行数据,把Name='B' 修改为Name = 'B2' ,那么undo日志就会用来存放Name='B'的记录,如果这个修改出现异常,可以使用undo日志来实现回滚操作,保证事务的一致性。
innodb_undo_directory = /undolog/
#innodb_log_file_size这个参数指定在一个日志组中,每个log的大小。innodb的logfile就是事务日志,用来在mysql crash后的恢复.所以设置合理的大小对于mysql的性能非常重要,直接影响数据库的写入速度,事务大小,异常重启后的恢复。在mysql 5.5和5.5以前innodb的logfile最大设置为4GB,在5.6以后的版本中logfile最大的可以设为512GB。一般取256M可以兼顾性能和recovery的速度。
innodb_log_file_size = 256M
#默认UTC,日志的时间会比系统时间慢8个小时,设置为system,日志时间将会时正常的系统时间
log_timestamps = system
文章来源于:https://blog.csdn.net/qq_40025218/article/details/81875864
https://www.jb51.net/article/88731.htm
https://blog.csdn.net/L_15156024189/article/details/87006324