Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ TaurusDB/ Preguntas frecuentes/ Modificación de parámetros de base de datos/ ¿Cómo me aseguro de que el conjunto de caracteres de la base de datos de una instancia de GaussDB(for MySQL) es correcto?
Actualización más reciente 2023-12-14 GMT+08:00

¿Cómo me aseguro de que el conjunto de caracteres de la base de datos de una instancia de GaussDB(for MySQL) es correcto?

UTF-8 soporta 4 caracteres de byte, pero GaussDB(for MySQL) utf8 soporta solo 3 caracteres de byte. Los emojis y los caracteres Unicode recién agregados no se pueden almacenar con el conjunto de caracteres MySQL utf8. MySQL lanzó el conjunto de caracteres utf8mb4 en 2010 y agregó el código utf8mb4 después de 5.5.3 para ser compatible con el unicode de 4 bytes. Solo necesita cambiar utf8 a utf8mb4. No se requiere ninguna otra conversión.

Data Admin Service (DAS) de Huawei Cloud es una herramienta profesional de gestión de bases de datos. Puede ver los conjuntos de caracteres del sistema y de la base de datos a través de la consola de DAS.

Procedimiento

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page, choose Databases > GaussDB(for MySQL).
  4. En la página Instances, busque la instancia y haga clic en Log In en la columna Operation.

    Como alternativa, en la página Instances, haga clic en el nombre de la instancia para ir a la página Basic Information. Haga clic en Log In en la esquina superior derecha de la página.

  5. En la página de inicio de sesión mostrada, ingrese el nombre de usuario y la contraseña correctos y haga clic en Log In.
  6. En la barra de menú superior, elija SQL Operations > SQL Window.
  7. Ejecute la siguiente sentencia de SQL en la ventana de SQL para ver el conjunto de caracteres de la base de datos:

    show variables like '%character%';

    Figura 1 Resultado de ejecución SQL

  8. Ejecute la siguiente sentencia SQL en la ventana de SQL para ver la codificación de la base de datos:

    show variables like 'collation%';

    Figura 2 Resultado de ejecución SQL

  9. Cambie el conjunto de caracteres a utf8mb4.

    1. Ejecute la siguiente sentencia SQL para cambiar los conjuntos de caracteres de la base de datos.

      ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    2. Ejecute la siguiente sentencia SQL para cambiar los conjuntos de caracteres de la tabla.
      ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

      La sentencia SQL solo cambia los conjuntos de caracteres de las tablas. Los conjuntos de caracteres de los campos de las tablas no se modifican.

    3. Ejecute la siguiente sentencia SQL para cambiar todos los conjuntos de caracteres de campo en las tablas:

      ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    • character_set_client, character_set_connection y character_set_results son los ajustes del cliente.
    • character_set_system, character_set_server y character_set_database son los ajustes del servidor.
    • Las prioridades de los parámetros en el servidor son las siguientes: character_set_database > character_set_server > character_set_system.