Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ TaurusDB/ Perguntas frequentes/ Modificação de parâmetro do banco de dados/ Como garantir que o conjunto de caracteres do banco de dados de uma instância do GaussDB(for MySQL) esteja correto?
Atualizado em 2024-09-29 GMT+08:00

Como garantir que o conjunto de caracteres do banco de dados de uma instância do GaussDB(for MySQL) esteja correto?

UTF-8 suporta caracteres de 4 bytes, mas GaussDB(for MySQL) utf8 suporta apenas caracteres de 3 bytes. Emojis e caracteres Unicode recém-adicionados não podem ser armazenados usando o conjunto de caracteres MySQL utf8. O MySQL lançou o conjunto de caracteres utf8mb4 em 2010 e adicionou o código utf8mb4 após o 5.5.3 para ser compatível com o unicode de 4 bytes. Você só precisa mudar utf8 para utf8mb4. Nenhuma outra conversão é necessária.

O Data Admin Service (DAS) da Huawei Cloud é uma ferramenta profissional de gerenciamento de banco de dados. Você pode exibir os conjuntos de caracteres do banco de dados e do sistema por meio do console do DAS.

Procedimento

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página, escolha Databases > GaussDB(for MySQL).
  4. Na página Instances, localize a instância e clique em Log In na coluna Operation.

    Como alternativa, na página Instances, clique no nome da instância para acessar a página Basic Information. Clique em Log In no canto superior direito da página.

  5. Na janela de logon exibida, insira o nome de usuário e a senha corretos e clique em Log In.
  6. Na barra de menu superior, escolha SQL Operations > SQL Window.
  7. Execute a seguinte instrução SQL na janela de SQL para exibir o conjunto de caracteres do banco de dados:

    show variables like '%character%';

    Figura 1 Resultado da execução de SQL

  8. Execute a seguinte instrução SQL na janela SQL para exibir a codificação do banco de dados:

    show variables like 'collation%';

    Figura 2 Resultado da execução de SQL

  9. Altere o conjunto de caracteres para utf8mb4.

    1. Execute a seguinte instrução SQL para alterar os conjuntos de caracteres do banco de dados.

      ALTER DATABASE DATABASE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    2. Execute a seguinte instrução SQL para alterar os conjuntos de caracteres da tabela.
      ALTER TABLE TABLE_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

      A instrução SQL apenas altera os conjuntos de caracteres das tabelas. Os conjuntos de caracteres de campos nas tabelas não são alterados.

    3. Execute a seguinte instrução SQL para alterar todos os conjuntos de caracteres de campo em tabelas:

      ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    • character_set_client, character_set_connection e character_set_results são as configurações do cliente.
    • character_set_system, character_set_server e character_set_database são as configurações do servidor.
    • As prioridades dos parâmetros no servidor são as seguintes: character_set_database > character_set_server > character_set_system.