文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【MySQL 8.0】标准配置文件详解(上)

2023-08-31 18:32

关注

将按照不同的模块介绍配置项:
文末附上参考配置文件

1.client

在这里插入图片描述

[mysqld]socket=/path/to/socket[client]socket=/path/to/socket

2.mysql

在这里插入图片描述

[mysql]prompt = "\\u@\\d \\r:\\m:\\s>"
root@(none) 01:00:04>

3.mysqld

在这里插入图片描述

可以使用 character_set_server 选项在 MySQL 配置文件中指定 MySQL 服务器使用的默认字符集。

可以使用 skip-name-resolve 选项在 MySQL 配置文件中控制 MySQL 服务器是否执行主机名解析

当 MySQL 服务器执行 LOAD DATA INFILE 或 SELECT … INTO OUTFILE 等语句时,会从文件系统中读取或写入文件。如果没有适当的限制,可能会导致服务器面临安全风险,例如攻击者可以在服务器上读取或写入任意文件。因此,secure-file-priv 选项定义了 MySQL 服务器允许读取和写入的目录位置。

可以使用 secure-file-priv 选项在 MySQL 配置文件中指定允许读取和写入的目录位置。

0:表名使用大小写敏感的方式处理。
1:表名在存储时将被转换为小写字母,但在检索时保持原样,此时如果存在大小写相同但是内容不同的表名,将会出现错误。
2:表名在存储和检索时都将被转换为小写字母,这样可以避免大小写不匹配的问题,但可能导致表名冲突。
需要注意的是,lower_case_table_names 选项对已经存在的表名不会产生影响,只会影响新创建的表名。如果在 MySQL 数据库中已经存在表名,应该在设置 lower_case_table_names 选项之前备份数据,并进行相应的调整。

如果 local-infile 选项被设置为 ON,则允许在客户端本地加载数据文件。如果该选项被设置为 OFF,则不允许在客户端本地加载数据文件。

4.performance

在这里插入图片描述
- lock wait timeout
事务锁等待超时时间

MAX(    (open_files_limit - 10 - max_connections) / 2,    400   )

默认值(64 位平台,≥ 8.0.27) 1048576
默认值(64 位平台,≤ 8.0.26) 286720

8 + (max_connections / 100)

5.log setting

在这里插入图片描述

在这里插入图片描述

log_error_verbosity Value Permitted Message Priorities
1 ERROR
2 ERROR, WARNING
3 ERROR, WARNING, INFORMATION

sync_binlog=0:禁用MySQL服务器将二进制日志同步到磁盘。相反,MySQL 服务器依靠操作系统不时将二进制日志刷新到磁盘,就像它对任何其他文件所做的那样。此设置提供最佳性能,但在电源故障或操作系统崩溃的情况下,服务器可能已提交尚未同步到二进制日志的事务。

sync_binlog=1:在提交事务之前启用二进制日志到磁盘的同步。这是最安全的设置,但由于磁盘写入次数增加,可能会对性能产生负面影响。在电源故障或操作系统崩溃的情况下,二进制日志中丢失的事务仅处于准备状态。这允许自动恢复例程回滚事务,从而保证二进制日志中不会丢失任何事务。

sync_binlog=N,其中N是 0 或 1 以外的值:二进制日志在 N收集二进制日志提交组后同步到磁盘。在电源故障或操作系统崩溃的情况下,服务器可能已提交尚未刷新到二进制日志的事务。由于磁盘写入次数增加,此设置可能会对性能产生负面影响。较高的值可提高性能,但会增加数据丢失的风险。

参考配置文件

### my.cnf for 8.0版本[client]port= 3306socket= /data/mysql/mysql.sock[mysql]prompt = "\\u@\\d \\r:\\m:\\s>"no_auto_rehashloose-skip-binary-as-hex[mysqld]user= mysqlport= 3306authentication_policy=mysql_native_password#主从复制或MGR集群中,server_id记得要不同#另外,实例启动时会生成 auto.cnf,里面的 server_uuid 值也要不同#server_uuid的值还可以自己手动指定,只要符合uuid的格式标准就可以server_id = 3306#basedir= /usr/local/mysqltmpdir=/data/tmp01:/data/tmp02:/data/tmp03datadir= /data/mysqlsocket= /data/mysql/mysql.sockpid-file=/data/mysql/mysql.pidcharacter_set_server = UTF8MB4skip_name_resolve = 1secure_file_priv=""#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数#default_time_zone = "+8:00"#启用admin_port,连接数爆满等紧急情况下给管理员留个后门admin_address = '127.0.0.1'admin_port = 33062lower_case_table_names = 1local_infile = 1#performance setttingslock_wait_timeout = 3600open_files_limit    = 65535back_log = 1024max_connections = 10240max_connect_errors = 1000000table_open_cache = 20000table_definition_cache = 2000thread_stack = 512Ksort_buffer_size = 2M#join_buffer_size = 4M#read_buffer_size = 8M#read_rnd_buffer_size = 4M#bulk_insert_buffer_size = 64Mthread_cache_size = 256#interactive_timeout = 600#wait_timeout = 600tmp_table_size = 32Mmax_heap_table_size = 32M#log settingslog_timestamps = SYSTEMlog_error = /data/logs01/mysql-error.loglog_error_verbosity = 3slow_query_log = 1log_slow_extra = 1slow_query_log_file = /data/logs01/mysql-slow.loglong_query_time = 0.1#log_queries_not_using_indexes = 1#log_throttle_queries_not_using_indexes = 60#min_examined_row_limit = 100log_slow_admin_statements = 1log_slow_replica_statements = 1log_bin = /data/logs01/mysql_binbinlog_format = ROWsync_binlog = 1000 #MGR环境中由其他节点提供容错性,可不设置双1以提高本地节点性能binlog_cache_size = 4Mmax_binlog_cache_size = 2Gmax_binlog_size = 1Gbinlog_rows_query_log_events = 1binlog_expire_logs_seconds = 604800#MySQL 8.0.22前,想启用MGR的话,需要设置binlog_checksum=NONE才行binlog_checksum = CRC32#myisam settingskey_buffer_size = 32Mmyisam_sort_buffer_size = 128M#replication settingsrelay_log = /data/logs01/relaylogrelay_log_index = /data/logs01/mysqld_relay_bin.indexrelay_log_recovery = 1replica_parallel_type = LOGICAL_CLOCKreplica_parallel_workers = 16 #可以设置为逻辑CPU数量的2倍binlog_transaction_dependency_tracking = WRITESETreplica_preserve_commit_order = 1replica_checkpoint_period  = 2skip_replica_start = ONread_only = 0 gtid_mode = ONenforce_gtid_consistency = ONreplica_transaction_retries    = 128#mgr settings#loose-plugin_load_add = 'mysql_clone.so'#loose-plugin_load_add = 'group_replication.so'#loose-group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1"#MGR本地节点IP:PORT,请自行替换#loose-group_replication_local_address = "172.16.16.10:33061"#MGR集群所有节点IP:PORT,请自行替换#loose-group_replication_group_seeds = "172.16.16.10:33061,172.16.16.11:33061,172.16.16.12:33061"#loose-group_replication_start_on_boot = OFF#loose-group_replication_bootstrap_group = OFF#loose-group_replication_exit_state_action = READ_ONLY#loose-group_replication_flow_control_mode = "DISABLED"#loose-group_replication_single_primary_mode = ON#loose-group_replication_communication_max_message_size = 10M#loose-group_replication_unreachable_majority_timeout = 30#loose-group_replication_member_expel_timeout = 5#loose-group_replication_autorejoin_tries = 288#innodb settingstransaction_isolation = REPEATABLE-READinnodb_buffer_pool_size = 8Ginnodb_buffer_pool_instances = 8innodb_data_file_path = ibdata1:2G;ibdata2:2G;ibdata3:2G;ibdata4:2G;ibdata5:16M:autoextendinnodb_flush_log_at_trx_commit = 2 #MGR环境中由其他节点提供容错性,可不设置双1以提高本地节点性能innodb_log_buffer_size = 500Minnodb_log_file_size = 2G #如果线上环境的TPS较高,建议加大至1G以上,如果压力不大可以调小innodb_log_files_in_group = 2innodb_max_undo_log_size = 4Ginnodb_thread_concurrency = 0innodb_read_io_threads = 48innodb_write_io_threads = 48innodb_commit_concurrency = 48# 根据您的服务器IOPS能力适当调整# 一般配普通SSD盘的话,可以调整到 10000 - 20000# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000innodb_io_capacity = 20000innodb_io_capacity_max = 50000innodb_open_files = 65535innodb_flush_method = O_DIRECTinnodb_buffer_pool_dump_pct = 75#Innodb_io_capacity/innodb_buffer_pool_instances Innodb_io_capacity>innodb_lru_scan_depth*innodb_buffer_pool_instanceinnodb_lru_scan_depth = 4000#innodb_lock_wait_timeout = 10#innodb_rollback_on_timeout = 1innodb_print_all_deadlocks = 1innodb_online_alter_log_max_size = 1Ginnodb_print_ddl_logs = 1innodb_status_file = 1#注意: 开启 innodb_status_output & innodb_status_output_locks 后, 可能会导致log_error文件增长较快#innodb_status_output = 0innodb_status_output_locks = 1innodb_sort_buffer_size = 67108864innodb_adaptive_hash_index = OFF#提高索引统计信息精确度innodb_stats_persistent_sample_pages = 500#innodb monitor settingsinnodb_monitor_enable = "module_innodb"innodb_monitor_enable = "module_server"innodb_monitor_enable = "module_dml"innodb_monitor_enable = "module_ddl"innodb_monitor_enable = "module_trx"innodb_monitor_enable = "module_os"innodb_monitor_enable = "module_purge"innodb_monitor_enable = "module_log"innodb_monitor_enable = "module_lock"innodb_monitor_enable = "module_buffer"innodb_monitor_enable = "module_index"innodb_monitor_enable = "module_ibuf_system"innodb_monitor_enable = "module_buffer_page"#innodb_monitor_enable = "module_adaptive_hash"#pfs settingsperformance_schema = 1#performance_schema_instrument = '%memory%=on'performance_schema_instrument = '%lock%=on'[mysqldump]quick

来源地址:https://blog.csdn.net/weixin_44265650/article/details/129875104

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯