TiDB和MySQL默认设置区别对比

  • A+
所属分类:TiDB
阿里云代金券

TiDB和MySQL默认设置有区别,主要表现在默认字符集、默认排序规则、默认SQL mode、lower_case_table_names的默认值及explicit_defaults_for_timestamp的默认值,数据库吧分享TiDB和MySQL默认设置区别:

默认字符集不同:

  • TiDB中为utf8mb4
  • MySQL 5.7中为latin1,MySQL 8.0中修改为utf8mb4
  • 默认排序规则不同:

  • TiDB中,utf8mb4的默认排序规则为utf8mb4_bin</li>
  • MySQL 5.7 中,utf8mb4的默认排序规则为utf8mb4_general_ci,MySQL 8.0 中修改为utf8mb4_0900_ai_ci
  • 请使用SHOW CHARACTER SET语句查看所有字符集的默认排序规则
  • 默认SQL mode不同:

  • TiDB中为STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
  • MySQL中为ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • lower_case_table_names的默认值不同:

  • TiDB 中该值默认为 2,并且目前 TiDB 只支持设置该值为2
  • MySQL中默认设置:

    Linux 系统中该值为0
    Windows 系统中该值为1
    macOS 系统中该值为2

  • explicit_defaults_for_timestamp的默认值不同:

  • TiDB中该值默认为ON,并且目前TiDB只支持设置该值为ON
  • MySQL中默认设置:

    MySQL 5.7:OFF
    MySQL 8.0:ON

  • 本文仅供参考,详细请以PingCAP官方文档为准。

    注意:购买阿里云数据库,先领取阿里云2000元代金券,符合条件的订单可以使用代金券抵扣。

    阿里云数据库优惠

    发表评论

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: