JupyterHub的默认数据库是SQLite数据库。但是我想用MySQL替换SQLite数据库。我尝试在配置文件中使用config变量。
c.JupyterHub.db_url = 'jdbc:mysql://localhost:3306/test'
但是当我运行jupyterhub时,它会产生如下错误:
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'jdbc:mysql://localhost:3306/test'
我搜索并研究了jupyterhub的官方文档,但没有发现与我的问题有关的任何内容。任何解决这个问题的办法?有人吗?
谢谢!
答案 0 :(得分:2)
找到了解决上述问题的确切方法。
c.JupyterHub.db_url = 'mysql+mysqlconnector://{}:{}@{}/{}{}'.format("username","password","host","database","")
答案 1 :(得分:1)
如果您在使用 mysql 时不添加该争论,那么它是上述正确答案的补充,您将遇到超时问题,如文档 (https://jupyterhub.readthedocs.io/en/stable/reference/database.html) 所述
答案 2 :(得分:0)
RFC1738说url语法必须定义如下:
//<user>:<password>@<host>:<port>/<url-path>
RFC1738的语法与JDBC specification不同。看来您正在尝试使用JDBC语法解析RFC1738-url(JupyterHub需要)。
答案 3 :(得分:-1)
让您还在 JH 配置中添加池回收选项。根据文档。
c.JupyterHub.db_kwargs = {"pool_recycle":300}