Estou conectando o MySQL - 8.0 ao MySQL Workbench e obtendo o erro abaixo:
O plug-in de autenticação 'caching_sha2_password' não pode ser carregado: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): imagem não encontrada
Eu tentei com outra ferramenta cliente também.
Alguma solução para isso?
mysql
database
mysql-workbench
mysql-8.0
Aman Aggarwal
fonte
fonte
Respostas:
Nota: Para MAC OS
fonte
você pode alterar a criptografia da senha assim.
fonte
Para o Windows 10:
Abra o prompt de comando:
Como alternativa, você pode alterar a configuração my.ini da seguinte maneira:
Reinicie o servidor MySQL e abra o Workbench novamente.
fonte
my.ini
local do arquivo: stackoverflow.com/a/20311286/923560Você pode alterar a criptografia da senha do usuário alterando o usuário com o comando Alter abaixo:
OU
Podemos evitar esse erro, fazendo-o funcionar com o plug-in de senha antigo:
Primeiro, altere o plug-in de autenticação no arquivo my.cnf para o arquivo Linux / my.ini no Windows :
Reinicie o servidor mysql para receber as alterações e tente conectar-se via MySQL a qualquer cliente mysql.
Se ainda não conseguir se conectar e obter o erro abaixo:
Isso significa que seu usuário precisa do plug-in acima. Portanto, tente criar um novo usuário com o comando create user ou grant após alterar o plug-in padrão. então o novo usuário precisa do plug-in nativo e você poderá conectar o MySQL.
obrigado
fonte
Atualmente (em 2018/04/23), você precisa baixar uma versão de desenvolvimento . Os GA não funcionam.
Não consegui me conectar à versão mais recente do GA (6.3.10).
Ele trabalhou com
mysql-workbench-community-8.0.11-rc-winx64.msi
(em https://dev.mysql.com/downloads/workbench/ , guia Liberações de desenvolvimento ).fonte
Eu tive o mesmo problema, mas a resposta de Aman Aggarwal não funcionou para mim com um contêiner do Docker executando o mysql 8.X. Eu entrei no contêiner
então faça o login no mysql como root
Digite a senha para root (o padrão é 'root') Finalmente, execute:
Você está pronto.
fonte
docker exec -it CONTAINER_ID mysql --user=root --password
vez de dois comandos que dependem da presença dobash
shell (o que não é certo no futuro)?docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7
Ok, perdi muito tempo com isso, então aqui está um resumo a partir de 19 de março de 2019
Se você está especificamente tentando usar uma imagem do Docker com o MySql 8+ e, em seguida, usa o SequelPro para acessar seus bancos de dados em execução no contêiner do docker, você está sem sorte.
Veja a sequelpro edição 2699
Minha configuração é sequelpro 1.1.2 usando o docker desktop 2.0.3.0 (mac - mojave) e tentei usar o mysql: latest (v8.0.15).
Como outros relataram, o uso do mysql 5.7 não funciona com nada:
Obviamente, é possível usar o MySql 8+ no docker e, nessa situação (se necessário), outras respostas fornecidas aqui para
caching_sha2_password
problemas de tipo funcionam. Mas sequelpro não é compatível com o MySql 8+Finalmente, abandonei o sequelpro (um amigo de confiança de 2013-2014) e instalei o DBeaver . Tudo funcionou fora da caixa. Para docker, usei:
Você pode espiar rapidamente os bancos de dados mysql usando:
fonte
brew cask install homebrew/cask-versions/sequel-pro-nightly
.mysql
cliente) eALTER
sua tabela myslq.user, observada aqui: github.com/sequelpro/sequelpro/issues/…mysql_native_password
, pode seguir o seguinte: stackoverflow.com/a/56402217/2321594Eu estava instalando o MySQL no meu PC com Windows 10 usando o " MySQL Web Installer " e estava enfrentando o mesmo problema ao tentar conectar-me usando o ambiente de trabalho MySQL. Corrigi o problema reconfigurando o servidor da janela do Instalador.
Clicando na opção "Reconfigurar", permitirá reconfigurar o servidor. Clique em "Avançar" até chegar em "Método de autenticação".
Uma vez nesta guia, use a segunda opção "Usar método de autenticação herdado (mantenha a compatibilidade do MySQL 5.x)".
Mantenha todo o resto como está e foi assim que resolvi meu problema.
fonte
como isso?
Experimente em PWD
https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml
ou Você deve usar o MySQL Workbench 8.0.11.
fonte
Abra o cliente de linha de comando do MySQL
Crie um novo usuário com um novo passe
Considerando um exemplo de caminho para uma pasta bin na parte superior, eis o código que você precisa executar no prompt de comando, linha por linha:
Configure uma nova conexão de host local com o nome de usuário mencionado acima (usuário nativo), faça login usando a senha (new_password)
Cortesia: UDEMY FAQs respondidas pela equipe Career365
fonte
root
e sem senha, que funcionava na linha de comando, mas não naSequel Pro
.Para aqueles que usam o Docker ou o Docker Compose, ocorreu esse erro porque não defini minha versão da imagem do MySQL. O Docker tentará obter automaticamente a versão mais recente, que é 8.
Eu configurei o MySQL para 5.7 e reconstruí a imagem e funcionou normalmente:
fonte
mysql:5.7
, em vez demysql:latest
resolvido o problema para mimEsta é a minha definição de banco de dados no meu docker-compose:
A linha relevante lá é ponto de entrada .
Depois de compilá-lo, você pode testá-lo com:
fonte
Para o Windows 10 ,
Modificar
my.ini
arquivo emC:\ProgramData\MySQL\MySQL Server 8.0\
Reinicie o serviço MySQL.
Entre no MySQL na linha de comando e execute os seguintes comandos no MySQL:
Crie um novo usuário.
Conceda todos os privilégios.
Abra o ambiente de trabalho MySQL e abra uma nova conexão usando as novas credenciais do usuário.
Eu estava enfrentando o mesmo problema e isso funcionou.
fonte
Aqui está a solução que funcionou para mim após a instalação do MySQL 8.0 no Windows 10.
Suponha que o nome de usuário do MySQL seja
root
e a senha sejaadmin
Abra o prompt de comando e insira os seguintes comandos:
fonte
Se você estiver recebendo este erro no GitLab CI como eu: Altere da versão mais recente para a versão 5.7;)
fonte
eu achei aquilo
não funcionou por si só. Eu também precisava definir
no /etc/mysql/mysql.conf.d/mysqld.cnf no Ubuntu 18.04 executando o PHP 7.0
fonte
Abra meu comando sql promt:
então digite a senha do mysql
finalmente use:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
consulte: https://stackoverflow.com/a/49228443/6097074
Obrigado.
fonte
Para mim, isso começou a acontecer porque, em um projeto, eu estava usando o Docker image mysql: latest (que era a versão 5 e estava funcionando bem) e, durante uma compilação posterior, a versão mais recente foi alterada para a versão 8 e parou de funcionar . Eu mudei minha imagem para mysql: 5 e I foi não recebendo este erro .
fonte
Este erro ocorre quando a ferramenta utilizada não é compatível com o MySQL8, tente atualizar para a versão mais recente do MySQL Workbench for MySQL8
fonte
Quase como as respostas acima, mas podem estar em consultas simples, eu estava recebendo esse erro no meu aplicativo de inicialização primavera, juntamente com o hibernação após a atualização do MySQL. Criamos um novo usuário executando as consultas abaixo em nosso banco de dados. Acredito que seja uma solução temporária para usar o sha256_password em vez da mais recente e boa autenticação caching_sha2_password.
fonte
O MySQLWorkbench 8.0.11 para macOS aborda isso. Eu posso estabelecer conexão com a instância mysql protegida por senha raiz em execução no docker.
fonte
Embora isso não deva ser uma solução real , ele funciona localmente se você estiver preso
fonte
A solução abaixo funcionou para mim
Vá para Mysql Workbench -> Servidor-> Usuários e Privilégios 1.Clique em Adicionar Conta
2. Na guia Login, forneça novos detalhes e escolha o Tipo de autenticação como padrão e escolha as respectivas funções administrativas e privilégios de esquema
fonte
Se você está tentando se conectar a um servidor MySQL a partir de um cliente MySQL baseado em texto de outro computador (seja Docker ou não)
A maioria das respostas aqui envolve a conexão de um cliente de desktop ou solicita que você mude para um método de autenticação mais antigo. Se você estiver conectando-o ao cliente MySQL (baseado em texto), eu o fiz funcionar com um Debian Buster em um contêiner Docker.
Digamos que você tenha o sistema apt e o wget configurado, faça o seguinte:
sudo apt-get update
sudo apt-get install lsb-release -y
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
e selecione as opções desejadas. No meu caso, só precisoMySQL Tools & Connectors
estar habilitado.sudo apt-get update
sudo apt-get install mysql-client -y
fonte
Tente usar a senha herdada ao baixar e instalar o MySql, o que me ajudou. Ou siga o método publicado por Santhosh Shivan para Mac OS.
fonte
O download de uma versão de desenvolvimento do 8.0.11-rc funcionou para mim em um mac. com os seguintes comandos do docker:
fonte
Resolvi esse problema instalando o MySQL 5.7:
Etapa 1 - Habilitar o repositório MySQL
Primeiro de tudo, você precisa habilitar o repositório yum de lançamento da comunidade MySQL 5.7 em seu sistema. Os pacotes rpm para a configuração do repositório yum estão disponíveis no site oficial do MySQL. Use o comando abaixo, conforme a versão do seu sistema operacional.
No CentOS e RHEL 7
No CentOS e RHEL 6
No Fedora 27
No Fedora 26
No Fedora 25
Etapa 2 - Instale o MySQL 5.7 Server
Como você ativou com sucesso o repositório MySQL yum no seu sistema. Agora, instale o servidor da comunidade MySQL 5.7 usando os seguintes comandos conforme a versão do seu sistema operacional.
No CentOS e RHEL 7/6
No Fedora 27/26/25
fonte: https://tecadmin.net/install-mysql-5-7-centos-rhel/
fonte
Voltar para as instalações anteriores (para MySQL Community Server 5.7 e Workbench 6.1) e configurar novas credenciais do MySQL funcionou para mim!
fonte