从MySQL5.7迁移到8.0时,有哪些重要的参数调整或新参数需要注意?

从 MySQL 5.7 迁移到 MySQL 8.0 时,有一些重要的参数调整和新参数需要注意。MySQL 8.0 引入了许多新功能和改进,同时也对一些现有参数进行了更改或废弃。

1. lower_case_table_names

  • 说明: 控制表名是否区分大小写。
  • 重要性: 在迁移过程中,确保 lower_case_table_names 的设置一致,以避免数据损坏或不一致问题。
  • 建议: 如果在 MySQL 5.7 中使用了特定的设置(例如 lower_case_table_names=1),请确保在 MySQL 8.0 中也使用相同的设置。

2. default_authentication_plugin

  • 说明: 设置默认的身份验证插件。
  • 变化: MySQL 8.0 默认使用 caching_sha2_password 插件,而 MySQL 5.7 使用 mysql_native_password
  • 建议: 如果需要与旧版本客户端兼容,可以将 default_authentication_plugin 设置为 mysql_native_password

3. innodb_default_row_format

  • 说明: 设置 InnoDB 表的默认行格式。
  • 变化: MySQL 8.0 默认使用 DYNAMIC 行格式,而 MySQL 5.7 默认使用 COMPACT 行格式。
  • 建议: 检查并确认你的应用程序和工具支持 DYNAMIC 行格式。如果不支持,可以将其设置为 COMPACT

4. innodb_file_per_table

  • 说明: 控制每个 InnoDB 表是否创建单独的 .ibd 文件。
  • 变化: MySQL 8.0 默认启用 innodb_file_per_table
  • 建议: 确保在迁移前已经启用了 innodb_file_per_table,否则可能会导致表空间管理问题。

5. innodb_page_size

  • 说明: 设置 InnoDB 页面大小。
  • 变化: MySQL 8.0 支持多种页面大小(4KB、8KB、16KB 和 32KB),而 MySQL 5.7 只支持 16KB。
  • 建议: 如果需要调整页面大小,请在初始化数据库之前进行设置,并确保所有相关配置和工具都支持新的页面大小。

6. transaction_isolation

  • 说明: 设置事务隔离级别。
  • 变化: MySQL 8.0 默认使用 REPEATABLE READ 隔离级别,而 MySQL 5.7 也是 REPEATABLE READ
  • 建议: 确认应用程序的事务隔离需求,并根据需要调整该参数。

7. sql_mode

  • 说明: 设置 SQL 模式,控制 SQL 语法和数据验证行为。
  • 变化: MySQL 8.0 默认的 sql_mode 更严格,包括 ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLES
  • 建议: 检查应用程序是否兼容更严格的 sql_mode,如果不兼容,可以调整 sql_mode 以匹配 MySQL 5.7 的设置。

8. max_connections

  • 说明: 设置允许的最大连接数。
  • 变化: MySQL 8.0 默认值可能与 MySQL 5.7 不同。
  • 建议: 根据实际负载调整 max_connections 参数,确保有足够的连接数来处理请求。

9. innodb_buffer_pool_size

  • 说明: 设置 InnoDB 缓冲池的大小。
  • 变化: MySQL 8.0 对缓冲池的管理和优化有所改进。
  • 建议: 根据系统内存和工作负载调整 innodb_buffer_pool_size,通常建议设置为总物理内存的 50% 到 75%。

10. log_binbinlog_format

  • 说明: 启用二进制日志并设置二进制日志格式。
  • 变化: MySQL 8.0 默认使用 ROW 格式的二进制日志。
  • 建议: 确认应用程序和复制环境支持 ROW 格式,如果需要使用其他格式,请进行相应调整。

11. innodb_log_file_size

  • 说明: 设置 InnoDB 日志文件的大小。
  • 变化: MySQL 8.0 推荐更大的日志文件大小以提高性能。
  • 建议: 根据系统的写操作频率和 I/O 性能调整 innodb_log_file_size

12. innodb_flush_method

  • 说明: 设置 InnoDB 刷新磁盘的方式。
  • 变化: MySQL 8.0 提供了更多的刷新方法选项。
  • 建议: 根据存储设备类型和操作系统选择合适的刷新方法。

13. performance_schema

  • 说明: 启用性能模式以收集详细的性能数据。
  • 变化: MySQL 8.0 默认启用 performance_schema
  • 建议: 如果不需要性能监控,可以禁用 performance_schema 以减少开销。

14. innodb_parallel_read_threads

  • 说明: 设置 InnoDB 并行读取线程的数量。
  • 变化: MySQL 8.0 引入了并行读取优化。
  • 建议: 根据系统 CPU 核心数和工作负载调整 innodb_parallel_read_threads

15. innodb_dedicated_server

  • 说明: 自动调整 InnoDB 相关参数以适应服务器资源。
  • 变化: MySQL 8.0 新增了 innodb_dedicated_server 参数。
  • 建议: 如果希望自动优化 InnoDB 参数,可以启用 innodb_dedicated_server
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值