镰鼬LL

导航

 
[mysqld]
port                    = xxxx            MySQL通信的端口
user                    = myxxxx           MySQL 默认的用户,即目录用户的用户名,用户组是mysql
datadir                 = /data1/mysqlxxxx    数据目录的位置
basedir                 = /usr/local/mysql-5.7.24    MySQL server 的安装目录
tmpdir                  = /data1/mysqlxxxx    存放一些临时文件,比如使用了file sort,文件名以MY开头;大事务的binary log 缓存 文件名以ML开头;临时表,#table.frm/idb;
slave-load-tmpdir       = /data1/mysqlxxxx    load数据的临时空间,比如主库load一大份数据,会直接将该数据文件copy到slave-load-tmpdir目录下
socket                  = /tmp/mysqlxxxx.sock mysql.sock文件的存放位置,用于本地连接MySQL
key_buffer_size         = 128M    索引块(index block)缓存大小,影响索引处理速度,尤其是索引读
max_allowed_packet      = 16M    限制mysql server接受的数据包大小,比如导入大文件时容易被限制导致失败
table_open_cache        = 4000   打开表的数量限制,一般不调整,和open_files_limit联动 ,经验公式open_files_limit= Table_open_cache*2
join_buffer_size        = 16M     join缓存,用于缓存驱动表的数据,此值越大,驱动表分段越少,被驱动表全表扫描越少,join语句效率越高。上限是驱动表的大小。
sort_buffer_size        = 16M    排序缓存,connect级别的参数,所以不是越大越好,否则高并发会暂用大量内存资源,一般够用,不用可以调整
read_buffer_size        = 16M    读取缓冲区大小,当对表进行顺序扫描时使用,仅用于MyISAM引擎
read_rnd_buffer_size    = 32M    用在sort查询之后 ,以保证获取以顺序的方式获取到查询的数据。与read_buffer_size类似,不过可以用于所有引擎
myisam_sort_buffer_size = 128M   MyISAM表发生变化时重新排序所需的缓冲
query_cache_type        = 0    查询缓冲类型,0:关闭。1:开启。2,只有select 中明确指定SQL_CACHE才缓存,目前一般建议关闭。
query_cache_size        = 0    query_cache_size 查询缓冲区大小
max_tmp_tables          = 256  内存临时表最大的数量
tmp_table_size          = 128M 内存临时表的大小限制,比如sort时,内存临时表不够,就会写磁盘临时文件了
max_heap_table_size     = 128M 内存表的大小限制
thread_cache_size        = 64   线程缓存数,客户端端口后,会缓存此线程以复用,
max_connect_errors      = 99999999 同一主机联系N次建联失败,则MySQL阻塞此客户端的链接
long_query_time         = 0    slow log记录的sql耗时阈值,设为0就是所有sql都记录
slow-query-log          = 1    是否开启slow log ;1开启。0关闭
slow-query-log-file     = slow.log slow log 的文件名,一般不用改
back_log                = 600    mysql链接数满以后,堆栈里可以暂存的请求数
myisam_repair_threads   = 1    该值大于1,在Repair by sorting过程中并行创建MyISAM表索引(每个索引在自己的线程内),等于1,则串行
myisam_recover_options  = DEFAULT default 代表每次访问myisam表时判断是否需要进行修复,如果需要则自动进行修复,并从key cache里面找需要修复的数据,如果没有key cache则不修复,如果该值为 force,则即使没有key cache也会进行修复,此时可能丢数据
expire_logs_days        = 30 binlog 保留的天数,超过的binlog会自动删除
interactive_timeout     = 30    交互式连接超时时间,比如使用mysql客户端
wait_timeout            = 30    非交互式连接超时时间,比如jdbc连接mysql等

skip-slave-start        = 1    数据库启动时,不自动启动复制进行,生产环境应当为1,便于管理
skip-name-resolve    禁止mysql对客户端进行DNS反向解析,此时授权Host不可为域名,必须为ip
max_user_connections   = 8000    对某个用户最大连接数
max_connections   = 8000           对全局的最大连接数
character-set-server   = utf8mb4    服务端默认字符集
read_only = 1    只读模式,从库设为1,主库设为0,注意super权限在read only=1时依然可写
log-slave-updates = 1    同步主库的sql是否计入本身的binlog,1为记入,出现级联复制时需要注意此参数

#-------------    innodb  --------------
default-storage-engine          = InnoDB     默认的存储引擎,如无特殊需求,均为innodb
innodb_buffer_pool_size         = 8G    innodb缓冲池大小,重要参数,基本控制mysql实例使用的内存多少,一般来说越大性能越好
innodb_data_file_path           = ibdata1:100M:autoextend  innodb tablespace文件,ibdata1为表空间文件名,100M为文件大小,autoextend表示自动扩充文件大小
innodb_flush_log_at_trx_commit  = 0    提交事务时,是否把redo log刷到磁盘,0表示不管,1表示必须等刷,2表示写入系统缓存就成
innodb_log_buffer_size          = 8M    redo log 日志缓冲区
innodb_log_file_size            = 1300M    事务日志(redo log)文件大小,即ib_logfile0
innodb_log_files_in_group       = 3    redo log组的大小,3意味着有三个事务日志文件,为ib_logfile0,ib_logfile1,ib_logfile2,这三个日志循环写,
innodb_max_dirty_pages_pct      = 90    buffer pool内最大的脏页百分比,意味着脏页超过90%会触发强制flush
innodb_lock_wait_timeout        = 20    锁超时时间,超时未拿到锁就会报错,如果配置了innodb_rollback_on_timeout,事务就会回滚
innodb_file_per_table           = 1    每张表都单独保存表数据,包括结构文件和数据文件,否则数据文件(ibd)会保存在一个文件中
innodb_flush_method             = O_DIRECT    flush数据的操作,默认是 fdatasync:只写系统缓存,脏数据和redolog都如此,O_DSYNC:脏数据同前,redolog直接写入磁盘,O_DIRECT:脏数据直接写磁盘,redolog同前前。
innodb_io_capacity              = 500    决定InnoDB后台任务的每秒 I/O 操作数 (IOPS),io压力大时,可以适当提高
innodb_buffer_pool_instances    = 10 innodb_buffer_pool的个数 他们的总容量就是innodb_buffer_pool_size的大小,多个缓冲池实例可以进行并发内存读写      
#-------------    undo  --------------   
innodb_undo_tablespaces         = 3    undo log文件数量,设置后不可更改
innodb_max_undo_log_size        = 10G    undo log 文件大小限制,超过限制会触发自动回收
innodb_undo_log_truncate        = ON    开启undo log空间自动回收
#-------------    Performance  --------------
max_execution_time              = 0    select 语句执行的超时时间,设置未0意味着不启用超时
#-------------    replication  --------------
slave_parallel_type            = logical_clock 并行复制策略  如为database,则不同库事务并行回放,如为logical_clock,则同binlog group提交的事务可以并行回放
slave_parallel_workers         = 0    并行回放线程数,该值为0 ,意味着禁用并行复制
slave_preserve_commit_order    = 1    从库提交顺序控制,为1意味着 事务在从库应用的顺序与在relay log中顺序一致

# Crash Safe
relay_log_info_repository       = table    决定slave同步的位置信息记录存放位置,table意味着信息放在mysql.slave_relay_info表里;file意味着放在relay-log.info文件
master_info_repository          = table    同上,记录的时slave 同步master的信息
sync_master_info                = 10000    从库同步主库数据后,何时刷盘。0代表不刷,1代表每条数据都刷,n代表n条数据再刷
relay_log_recovery              = ON    数据库启动后,自动开始relay log修复

server-id                      = 281235472    集群中实例的唯一标识,集群内唯一
log-bin                         = mysql-bin    binlog name
relay-log                       = relay-bin    relay log name
log-error                       = error.log    error log name
gtid-mode                       = ON    是否开启gtid模式
enforce-gtid-consistency        = 1    启动后,只允许事务安全且可被记录的sql执行,

log_timestamps                  = SYSTEM    控制记录到error log和slow log的时间,可为UTC或system
secure-file-priv                = ''    此为导出数据是的目录限制,为''意味着不限制

[client]
port                            = xxxx        实例使用的通信端口号
socket                          = /tmp/mysqlxxxx.sock sock文件的位置
no-auto-rehash                            自动补全开关,auto-rehash意味着开启自动补全,开启后可用tab键补全命令
character_set_client            = utf8mb4    客户端的默认字符集
[myisamchk]                                以下为各种buffer
key_buffer                      = 64M    
sort_buffer_size                = 32M
read_buffer                     = 16M
write_buffer                    = 16M

 

posted on 2021-07-29 23:14  镰鼬LL  阅读(58)  评论(0编辑  收藏  举报