Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Eu tenho configuração de superconjunto mysql e apache em dockers e conectado por uma rede de ponte, qual será o URI do SQLAlchemy?


O problema não estava relacionado ao superconjunto ou à rede. Você configurou a rede certa, mas não ativou o plug-in de autenticação padrão em imagens do docker MySQL. Devido a este erro mostrado no console foi
 Plugin caching_sha2_password could not be loaded:

Para reproduzir:

registros de erros:
   sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1045, 'Plugin caching_sha2_password could not be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory')
    (Background on this error at: http://sqlalche.me/e/13/e3q8)

Para resolver o problema:

Crie uma imagem MySQL com plugin de autenticação padrão
docker run --detach --network="incubator-superset_default" --name=mysql --env="MYSQL_ROOT_PASSWORD=sample" --publish 3306:3306 mysql --default-authentication-plugin=mysql_native_password 

O Superset já possui uma rede bridge definida pelo usuário, então você pode usar os dois formatos
mysql://root:[email protected]/mysql
mysql://root:[email protected]/mysql