Erro de Conjunto de Caracteres Não Suportado
O erro System.NotSupportedException: Character set 'utf8mb3' is not supported by .Net Framework pode ocorrer devido a versões desatualizadas das bibliotecas. Atualize o pacote MySql.Data para a versão mais recente através do NuGet, como a 8.0.31, em vez de baixar manualmente do site oficial.
// Exemplo de referência atualizada no arquivo .csproj ou via comando NuGet
Install-Package MySql.Data -Version 8.0.31
Incompatibilidade de Tipos entre C# e MySQL
Ao mapear um campo unsigned int no MySQL para uma propriedade uint em C#, assegure-se de que os tipos sejam compatíveis para evitar erros de conversão, como System.Int32 cannot be converted to System.UInt32.
// Definição correta no modelo C#
public uint IdentificadorCiclo { get; set; }
// Consulta SQL correspondente
// CREATE TABLE tabela (IdentificadorCiclo INT UNSIGNED NULL);
Erro de Chave Pública RSA em Conexões Inseguras
O erro Retrieval of the RSA public key is not enabled for insecure connections pode ser resolvido ajustando a string de conexão. Adicione o parâmetro AllowPublicKeyRetrieval=True ou utilize a autenticação mysql_native_password em vez de sha256_password.
// String de conexão modificada para permitir recuperação da chave pública
string conexao = "Server=localhost;Port=3306;Database=meuBanco;User=root;Senha=123456;Pooling=false;CharSet=utf8;SSL Mode=None;AllowPublicKeyRetrieval=true";
Erro de Inicialização do SqlSugarClient
O erro palavra-chave fornecida não está no dicionário ao instanciar o SqlSugarClient geralmente indica incompatibilidade de versões. Certifique-se de que as versões do MySql.Data e do SqlSugar sejam alinhadas, como a 8.0.31 para ambos.
// Configuração atualizada para o SqlSugarClient
var configuracao = new ConnectionConfig()
{
ConnectionString = "Server=localhost;Port=3306;Database=sistemaDB;User=root;Senha=654321;Pooling=false;CharSet=utf8;SSL Mode=None;AllowPublicKeyRetrieval=true",
IsAutoCloseConnection = true,
DbType = DbType.MySql
};
using (var bancoDeDados = new SqlSugarClient(configuracao))
{
bancoDeDados.DbMaintenance.CreateDatabase();
bancoDeDados.CodeFirst.InitTables(typeof(Registro));
}
Prolbemas com o Serviço do MySQL
Se o serviço do MySQL estiver travado ao iniciar ou parar, encerre os processos via prompt de comando como administrador. Use comandos como tasklist|findstr "mysql" e taskkill /f /t /im mysqld.exe para forçar o encerramento.
REM Exemplo de comandos no Windows
tasklist|findstr "mysql"
taskkill /f /t /im mysqld.exe
Erros de Conexão e Timeout
Erros como timeout reading communication packets ou Unable to connect to any of the specified MySQL hosts podem indicar problemas de rede ou configuração. Verifique a string de conexão, o status do servidor e parâmetros como timeouts ou pooling.
Para erros fatais durante a execução de comandos, revise a lógica de consultas e assegure-se de que a comunicação com o banco de dados está estável.