Mostrando postagens com marcador MariaDB. Mostrar todas as postagens
By
Ricardo Oliveira
às
fevereiro 01, 2023
Nenhum comentário:
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
MariaDB,
Microsoft Visual Studio
By
Ricardo Oliveira
às
março 17, 2019
Nenhum comentário:
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
Linux,
MariaDB,
MySQL,
Soluções,
Solutions,
Ubuntu
quarta-feira, 1 de fevereiro de 2023
using MySql.Data.MySqlClient Erro CS0246 O nome do tipo ou do namespace "MySql" não pode ser encontrado (está faltando uma diretiva using ou uma referência de assembly?)
Se você estiver tentando conectar com o MariaDB e estiver recebendo este erro, tudo indica que o pacote MySql.Data não está instalado no seu projeto. Para corrigir isso, você precisa instalá-lo usando o gerenciador de pacotes do Visual Studio.Para resolver isso, siga os seguintes passos:
- No Visual Studio, clique com o botão direito no nome do seu projeto na janela "Solution Explorer" e selecione "Manage NuGet Packages".
- Na janela "NuGet Package Manager", clique na aba "Browse" e pesquise por "MySql.Data".
- Selecione o pacote MySql.Data na lista de resultados e clique em "Install".
- Siga as instruções na tela para instalar o pacote.
using MySql.Data.MySqlClient;

domingo, 17 de março de 2019
ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
Recentemente, fui fazer uma pequena alteração no meu banco de dados, para mudar as permissões de um determinado usuário e acabei perdendo o acesso ao banco.
Depois de executar o comando, mencionado acima, comecei a receber uma mensagem informando a tabela de usuário estaria corrompida e daí pra frente eu não conseguia fazer mais nenhuma alteração no meu banco de dados e quando tentava entra no mysql, recebia a seguinte mensagem de erro: "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Pesquisando sobre unix_socket na internet descobrimos que ele é um plug-in de autenticação que permite usar as credenciais do sistema operacional para se conectar ao MySQL/MariaDB. Ele faz isso por meio do arquivo de soquete local que é definido pela variável do sistema de soquete.
Host: Sistema: Ubuntu 18.04.2 LTS - 64 bits
CPU: Intel® Core™ i5-4460 CPU @ 3.20GHz × 4
Análise do problema:
O problema aconteceu depois da repetição de um simples comando: GRANT SELECT, INSERT, UPDATE ON dbsystemmyimei.* TO usermyimeico;Depois de executar o comando, mencionado acima, comecei a receber uma mensagem informando a tabela de usuário estaria corrompida e daí pra frente eu não conseguia fazer mais nenhuma alteração no meu banco de dados e quando tentava entra no mysql, recebia a seguinte mensagem de erro: "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Pesquisando sobre unix_socket na internet descobrimos que ele é um plug-in de autenticação que permite usar as credenciais do sistema operacional para se conectar ao MySQL/MariaDB. Ele faz isso por meio do arquivo de soquete local que é definido pela variável do sistema de soquete.
Mais detalhes em mariadb.
CPU: Intel® Core™ i5-4460 CPU @ 3.20GHz × 4
Memória: 8GB
2. Navegue para a pasta /var/run
3. Agora faça o backup :
4. Pare o serviço mysql
5. Agora vamos restaurar o backup
6. Inicie o mysql no modo seguro
7 . Em seguida, efetue login no mysql como root:
8. Confira se o plugin de autenticação está configurado para o usuário root:
Você pode ver que ele está usando o plug-in unix_socket
9. Para mudar para o plug-in mysql_native_password, execute o seguinte comando:
10. Agora é só sair do mysql modo segurança:
11. Pare o modo segurança
12. Inicie o mysql ou mariadb, novamente
13. Agora é só fazer o login com sua senha normal:
Problema resolvido!
Solução
Antes de resolvermos esse problema, será preciso fazer o backup da pasta mysql porque, por algum motivo, ainda desconhecido, o mysql.sock é deletado toda vez que o serviço mysql é parado e o mysqld_safe não pode criá-lo novamente. Por isso, para contornarmos esse problema, é preciso fazermos o backup da pasta sock e restaurar antes de iniciar o mysqld_safe.
Passo a passo:
Essa solução pode ser aplicada no mysql ou mariadb1. Se o mysql ou mariadb estiver parado, inicia com o seguinte comando:
sudo service mysql start
2. Navegue para a pasta /var/run
cd /var/run
3. Agora faça o backup :
sudo cp -rp ./mysqld ./mysqld.bak
4. Pare o serviço mysql
sudo service mysql stop
5. Agora vamos restaurar o backup
sudo mv ./mysqld.bak ./mysqld
6. Inicie o mysql no modo seguro
sudo mysqld_safe --skip-grant-tables --skip-networking &
7 . Em seguida, efetue login no mysql como root:
mysql -u root
8. Confira se o plugin de autenticação está configurado para o usuário root:
select Host,User,plugin from mysql.user where User='root';
Você pode ver que ele está usando o plug-in unix_socket
9. Para mudar para o plug-in mysql_native_password, execute o seguinte comando:
update mysql.user set plugin='mysql_native_password';
10. Agora é só sair do mysql modo segurança:
quit;
11. Pare o modo segurança
sudo kill -9 $(pgrep mysql)
12. Inicie o mysql ou mariadb, novamente
sudo systemctl start mysql
13. Agora é só fazer o login com sua senha normal:
mysql -u root -p
Problema resolvido!
Vide o passo a passo em vídeo
