🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
```sh [mysqld] ########基础设置-基础########5.7.17 server-id = 1 port = 3306 user = mysql ########基础设置-目录######## log_error = /var/log/mysqld.log tmpdir = /tmp pid-file = /var/lib/mysql/mysql.pid socket = /var/lib/mysql/mysql.sock datadir = /var/lib/mysql #basedir = /usr/local/mysql ########基础设置-其他##### #设置默认字符集为utf8,也可以utf8mb4(超集,兼容utf8) character_set_server=utf8mb4 #数据库实务隔离级别,有四个值可用 transaction_isolation = READ-COMMITTED #将所有的死锁记录到error_log中 innodb_print_all_deadlocks = 1 #设置系统日志使用的时间[默认utc] log_timestamps=SYSTEM sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' #开启事件支持 event_scheduler = 1 #表名大小写不敏感设置 lower_case_table_names = 1 ########基础设置-全文索引分词设置##### innodb_ft_min_token_size=1 ngram_token_size=1 ########基础设置-连接控制##### # 禁止DNS解析以加快连接速度,如果开启该选项只能使用IP地址方式连接 skip-name-resolve # MySQL的最大连接数,根据服务器配置慢慢调整 max_connections = 800 # 每个主机的最大异常中断连接数,超过会被禁。解禁执行:FLUSH HOST。 max_connect_errors = 1000 #打开的文件描述符限制,未配置时,值等同于上面那个参数的值 open_files_limit = 102400 #mysql在关闭一个交互的连接之前所要等待的秒数 interactive_timeout = 1200 #mysql在关闭一个非交互的连接之前所要等待的秒数 wait_timeout = 600 ########基础设置-缓存缓冲##### # 打开的表缓冲区大小,mysql打开表时会先读此缓存,如果里面没有才去磁盘读取 table_open_cache = 128 # 临时表的大小,可达到提高联接查询速度 tmp_table_size = 128M # 内存表的大小,和上面临时表有关,所以设置一样大 max_heap_table_size = 128M # 联合查询操作所能使用的缓冲区大小,分配内存每连接独享 join_buffer_size = 2M #MySQL读入缓冲区的大小 read_buffer_size = 16M #MySQL的随机读缓冲区大小 read_rnd_buffer_size = 8M #MySQL的顺序读缓冲区大小,分配内存每连接独享 sort_buffer_size = 8M #服务器发送和接受的最大包长度 max_allowed_packet = 32M ########innodb引擎参数设置######## #数据缓冲区buffer pool大小,sql独占服务器建议总内存的60-80% innodb_buffer_pool_size = 10G #增大日志,较少刷新频次(5.6以后建议256-2G,不需要大于buffer pool) innodb_log_file_size = 2G #事物刷新到磁盘的方式,1是每次,最大数据安全性 innodb_flush_log_at_trx_commit = 1 #控制着innodb数据文件打开、刷写模式,防止双缓存,若非RAID,需注释 innodb_flush_method = O_DIRECT #去掉表级自增ID锁,需binglog是行模式,可提高插入效率 innodb_autoinc_lock_mode = 2 #事务等待获取资源等待的最长时间,默认50s innodb_lock_wait_timeout = 20 #开启InnoDB严格检查模式,建议开启 innodb_strict_mode = 1 #热数据选项:关机时自动将热数据写入磁盘,启动时自动加载 innodb_buffer_pool_dump_at_shutdown = 1 innodb_buffer_pool_load_at_startup = 1 #刷脏和IO写入相关选项,根据服务器IOPS能力适当调整(写入很频繁时) innodb_lru_scan_depth = 2000 innodb_io_capacity = 4000 innodb_io_capacity_max = 8000 #刷新脏页时一起刷新临近页,机械硬盘建议开启,固态硬盘建议关闭 innodb_flush_neighbors = 1 ########日志相关-慢查询######## #慢查询日志位置 slow_query_log_file = /var/log/mysql/mysql-slow.log #开启慢查询日志 slow_query_log = 1 #超出设定值的SQL即被记录到慢查询日志(秒) long_query_time = 3 #检索的行数必须达到此值才可被记为慢查询 min_examined_row_limit = 100 #记录下没有使用索引的查询 ##log_queries_not_using_indexes = 1 #记录慢sql的频次、每分钟记录的条数(需上一条启用后) ##log_throttle_queries_not_using_indexes = 10 ```