Recentemente, ocorreu um erro ao testar o pool de conexão com o spring nativo, então eu queria dar um passo atrás e usar o jdbc clássico (apenas mysql-connector-java), mas ainda relatei o erro - então testei no IDEA e, finalmente, localizou o bug. Problema de conexão com o banco de dados.
Para encurtar a história, acho que as atualizações macBigSur e mysql8.0 causaram muitas permissões de usuário root e valores padrão de parâmetro. Como esses problemas só foram expostos recentemente, há poucas soluções viáveis na Internet e muitos desvios foram tomados.
Demorou dois dias para perceber que as falhas de conexão do banco de dados no Navicat e no IDEA são dois erros distintos . Este artigo aborda o primeiro . vamos lá.
1045 - Acesso negado para o usuário 'root' @ 'localhost' (usando senha: SIM / NÃO)
Tradução literal: código de erro 1045-acesso negado ao usuário 'root' (se a senha for preenchida: SIM / NÃO)
Solução One-Directly use a interface gráfica do Navicat para operar
Opção dois - use a linha de comando para pular temporariamente a verificação de senha
1.关闭mysql服务
>>> sudo /usr/local/mysql/support-files/mysql.server stop
2.进入到bin文件夹
>>> cd /usr/local/mysql/bin/
3.获取超级管理员权限
>>> sudo su
4.禁止身份验证
>>> ./mysqld_safe --skip-grant-tables &
5.此时mysql服务自动重启,这次无需密码即可成功连接,自然不会报错
Solução Três - Use a linha de comando para modificar a senha
6.接着上面的操作。进入mysql客户端
>>> sudo /usr/local/mysql/bin/mysql -u root -p
7.修改用户root的密码
>>> flush privileges;
>>> SET PASSWORD FOR root@localhost = '123456';
Por fim, adicione algumas linhas de comando para copiar e colar (mac)
sudo /usr/local/mysql/support-files/mysql.server start // mysql数据库服务开启
sudo /usr/local/mysql/support-files/mysql.server stop // mysql数据库服务关闭
sudo /usr/local/mysql/support-files/mysql.server restart // mysql数据库服务重启
sudo /usr/local/mysql/bin/mysql -u root -p // 开启mysql客户端(>>>就可以写sql语句啦)