Mysql
 sql >> Base de données >  >> RDS >> Mysql

J'ai configuré mysql et apache superset sur des dockers et connecté par un réseau de pont, quel sera l'URI SQLAlchemy ?

Le problème n'était pas lié au sur-ensemble ou au réseau. Vous avez configuré le bon réseau mais n'avez pas activé default-authentication-plugin sur les images de docker MySQL. En raison de cette erreur affichée sur la console était

 Plugin caching_sha2_password could not be loaded:

Pour reproduire :

journaux d'erreur :

   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)

Pour résoudre le problème :

Créer une image MySQL avec default-authentication-plugin

docker run --detach --network="incubator-superset_default" --name=mysql --env="MYSQL_ROOT_PASSWORD=sample" --publish 3306:3306 mysql --default-authentication-plugin=mysql_native_password 

Superset a déjà un réseau de pont défini par l'utilisateur, vous pouvez donc utiliser les deux formats

mysql://root:[email protected]/mysql
mysql://root:[email protected]/mysql