Ubuntu服务器20.04和Nextcloud服务器安装了快照(https://github.com/nextcloud-snap/nextcloud-snap)。
我需要连接到Snap内部的Nextcloud MySQL数据库,并对一些表进行SELECT,但我不知道如何使用Python进行此操作。
如果我使用标准CLI实用程序,一切正常。
sudo nextcloud.mysql-client -S /tmp/sockets/mysql.sock
但我不明白如何做同样的事情与python和专门的MySQL用户。
我试过使用'subprocess.check_output'路由,但结果证明这是一个糟糕的主意...
有什么建议吗?
1条答案
按热度按时间5f0d552i1#
快照将
/tmp
目录存储在以下位置:所以你要找的套接字实际上在下面:
或在22.04 LTS上,
mysqlx.sock
然而,由于Snap沙箱的工作方式,您实际上无法使用此套接字文件连接到Nextcloud示例。
我认为最好的解决方法可能是:
1.重新构建nextcloud-snap以使用TCP 127.0.0.1:3306访问MySQL
1.从基于快照的部署迁移到传统部署。
就我个人而言,当我大约25年前第一次开始使用Linux时,这本书是我最早阅读并真正喜欢的书之一:
注意副标题:让简单的事情变得简单,让困难的事情变得可能
在我使用
snap
的有限经验中,它总是使容易的事情变得困难,而且它完全不同于我对Linux的其他理解,因为它有自己的极端专有的方式。如果我必须处理一个容器,
docker
远没有那么麻烦,我预计Ubuntu LTS
作为一个公共服务器标准最终会被他们在snap
上的示例所撤销。