sql >> Database >  >> RDS >> Mysql

Ik heb mysql en apache superset setup op dockers en verbonden door een bridge-netwerk, wat zal de SQLAlchemy URI zijn?

Het probleem was niet gerelateerd aan superset of netwerk. U heeft het juiste netwerk geconfigureerd, maar heeft default-authentication-plugin niet ingeschakeld op MySQL-docker-images. Vanwege deze fout die op de console werd getoond, was

 Plugin caching_sha2_password could not be loaded:

Te reproduceren:

foutlogboeken:

   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)

Om het probleem op te lossen:

Maak een MySQL-afbeelding met 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 heeft al een door de gebruiker gedefinieerd bridge-netwerk, dus je kunt beide formaten gebruiken

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


  1. Fijnmazige toegangscontrole

  2. Hoe een enkele kolomwaarden te splitsen in meerdere kolomwaarden?

  3. Beperken met voorwaardelijke waardecontrole in MySQL

  4. Dapper MySQL-retourwaarde