• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 服务器字符集和校验规则

    MySQL Server具有服务器字符集和服务器校验规则。这些可以在服务器启动时在命令行或选项文件中设置,并在运行时更改。

    最初,服务器字符集和校验规则取决于启动mysqld时使用的选项。您可以使用--character-set-server该字符集。连同它,您可以添加--collation-server用于校验规则。如果您未指定字符集,则与说相同--character-set-server=utf8mb4。如果您仅指定一个字符集(例如utf8mb4),但未指定校验规则,则该说法与之相同,因为这是的默认校验规则。因此,以下三个命令都具有相同的效果:--character-set-server=utf8mb4--collation-server=utf8mb4_0900_ai_ciutf8mb4_0900_ai_ciutf8mb4

    mysqld
    mysqld --character-set-server=utf8mb4
    mysqld --character-set-server=utf8mb4 \
      --collation-server=utf8mb4_0900_ai_ci
    

    更改设置的一种方法是重新编译。要从源代码构建时更改默认服务器字符集和校验规则,请对CMake使用DEFAULT_CHARSETDEFAULT_COLLATION选项。例如:

    cmake . -DDEFAULT_CHARSET=latin1
    

    要么:

    cmake . -DDEFAULT_CHARSET=latin1 \
      -DDEFAULT_COLLATION=latin1_german1_ci
    

    双方的mysqldCMake的验证字符集/归类组合是有效的。如果不是,每个程序将显示一条错误消息并终止。

    如果未在CREATE DATABASE语句中指定数据库字符集和校验规则,则将服务器字符集和校验规则用作默认值。他们没有其他目的。

    当前服务器字符集和校验规则可以从character_set_servercollation_server系统变量的值确定。这些变量可以在运行时更改。