Como garantir que o conjunto de caracteres de um banco de dados RDS MySQL está correto?
UTF-8 suporta caracteres de 4 bytes, mas o RDS for MySQL utf8 suporta apenas caracteres de 3 bytes. Emojis, caracteres chineses incomuns 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) é 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
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo e selecione uma região e um projeto.
- Clique em no canto superior esquerdo da página e escolha Databases > Relational Database Service.
- Na página Instances, localize a instância de BD de destino e clique em Log In na coluna Operation.
Como alternativa, clique na instância de BD de destino na página Instances. Na página Basic Information exibida, clique em Log In no canto superior direito da página.
- Na janela de logon exibida, insira o nome de usuário e a senha corretos e clique em Log In.
- Na barra de menu superior, escolha SQL Operation > SQL Window.
- 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
- 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
- Altere o conjunto de caracteres para utf8mb4.
- 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;
- Execute a seguinte instrução SQL para alterar os conjuntos de caracteres da tabela.
- 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.
- Execute a seguinte instrução SQL para alterar os conjuntos de caracteres do banco de dados.
Modificação de parâmetro de base de dados Perguntas frequentes
- Quais configurações de parâmetros inadequadas causam a indisponibilidade do banco de dados RDS for PostgreSQL?
- Como alterar o fuso horário?
- Como configurar uma política de expiração de senha para instâncias de BD do RDS for MySQL?
- Como alterar o nível de isolamento da transação do RDS?
- Como garantir que o conjunto de caracteres de um banco de dados RDS MySQL está correto?
- O RDS for PostgreSQL oferece suporte ao plug-in test_decoding?
- Como usar o conjunto de caracteres utf8mb4 para armazenar emojis em uma instância de BD do RDS for MySQL?
- Onde devo armazenar arquivos NDF para RDS for SQL Server?
- Posso usar comandos SQL para modificar parâmetros globais?
- Como modificar o agrupamento de RDS for SQL Server?
- Como definir a diferenciação de maiúsculas e minúsculas para nomes de tabela do RDS for MySQL?
- Posso ativar o cache de consulta para minha instância do RDS for MySQL?
Feedback
Esta página foi útil?
Deixar um comentáriomore