1. # For advice on how to change settings please see
    2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    3. [mysqld]
    4. datadir = /var/lib/mysql
    5. socket = /var/lib/mysql/mysql.sock
    6. log-error = /var/log/mysqld.log
    7. pid-file = /var/run/mysqld/mysqld.pid
    8. character-set-server = utf8mb4
    9. symbolic-links = 0
    10. # 开启binlog
    11. server-id = 1
    12. log_bin = /var/lib/mysql/mysql-bin
    13. log_bin_index = /var/lib/mysql/mysql-bin.index
    14. max_binlog_size = 512M
    15. # 多少次事务提交后,将binlog刷新到磁盘 默认为0,表示由系统控制
    16. sync_binlog = 0
    17. # 当本机作为slave时,是否将master的binlog记录到本地binlog(便于多级主从)
    18. log_slave_updates = on
    19. # master 复制信息存储方式 file/table
    20. master-info-repository = file
    21. # relay log 策略 保证主从一致性
    22. relay_log_recovery = on
    23. # slave 进程随mysql服务启动而启动
    24. skip-slave-start = on
    25. # 允许sql导入本地文件
    26. local_infile = on
    27. # 数据库内部 资源/等待监控
    28. performance_schema = off
    29. # 开启慢日志
    30. long_query_time = 2
    31. slow-query-log = on
    32. slow-query-log-file = /var/lib/mysql/slow-query.log
    33. # 慢日志存储方式 file/table
    34. log_output = file
    35. # 记录 未使用index且速度慢的查询
    36. log-queries-not-using-indexes = on
    37. # 设置事务模式 不产生GTID事务,为slave时,接收GTID事务和匿名事务
    38. gtid-mode = OFF_PERMISSIVE
    39. # 设置最大连接数 DBInstanceMemory/12M
    40. max_connections = 1000
    41. # 终止空闲时间超过60秒 的连接
    42. wait_timeout = 60
    43. # 单个主机错误连接操作 100次 锁定主机
    44. max_connect_errors = 100
    45. # 密码过期策略 永不过期
    46. default_password_lifetime = 0
    47. # 默认存储引擎
    48. default_storage_engine = InnoDB
    49. # timestamp时间格式策略 字段可以为null时,插入null会记录null,而不是当前时间
    50. explicit_defaults_for_timestamp = 1
    51. # 此值为 max_connections*每次查询的表数量 不宜过大
    52. table_open_cache = 2046
    53. table_open_cache_instances = 16
    54. # 线程创建时候分配的内存大小 SQL越复杂/存储过程递归越多 此值响应增加
    55. thread_stack = 256K
    56. # innodb缓冲池大小 innodb_buffer_pool_size = DBInstanceMemory * 3/4
    57. innodb_buffer_pool_size = 1G
    58. # 此值需要通过业务需求调整
    59. # 内存和表越多分配值越大 https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html
    60. read_buffer_size = 1M
    61. # 开启独立表空间
    62. innodb_file_per_table = 1
    63. # innodb 数据刷新到磁盘方式
    64. innodb_flush_method = O_DIRECT
    65. # 事务在内存中缓冲大小(2-8M)
    66. innodb_log_buffer_size = 8M
    67. # 单个日志文件大小
    68. innodb_log_file_size = 256M
    69. # 事务提交后的回收udo页的线程
    70. innodb_purge_threads = 1
    71. [client]
    72. default-character-set = utf8mb4
    73. [mysql]
    74. default-character-set = utf8mb4