使用 qgtunnel (quotaguard) 在任何地方分离 python pymysql 数据库连接的最佳方法?

Best way to separate python anywhere pymysql database connections using qgtunnel (quotaguard)?

我们 运行 15-20 种不同的 python 任何地方的脚本都与同一个数据库对话。该脚本通过有时 运行 同时进行的不同任务进行安排,我们在启动 qgtunnel 时收到以下错误...

2022/05/16 12:52:11 Error initializing tcp socket 127.0.0.1:3306: listen tcp 127.0.0.1:3306: bind: address already in use

2022/05/16 12:52:11 Error initializing tcp socket 127.0.0.1:1433: listen tcp 127.0.0.1:1433: bind: address already in use 

我们考虑过要求我们的 mysql 提供商让 mysql 监听更多端口,但他们不允许这样做。我们还考虑过为每个脚本设置不同的环境,但在我们尝试之前,我想问问是否有更好的方法。感谢建议。

所以在与 quotaquard 合作后,他们的 CTO 有了一个好主意。在 运行 之前,每个脚本都会覆盖 .qgtunnel 设置文件并指定您的端口。我将其推广到所有脚本,现在我没有绑定错误。覆盖设置文件看起来像这样...

cat <<EOF > /home/qgtunnel/.qgtunnel
[qgtunnel.Name_of_script_changing_file_sh]
accept = "127.0.0.1:5007"
connect = "host_url:3306"
encrypted = false
transparent = true
EOF

cd /home/qgtunnel ./bin/qgtunnel python3 ~/dir/python_script.py