Как правило, всякий раз, когда вы пытаетесь выяснить, где программа остановлена, вы можете запустить ее с помощью strace (strace myprog.py) или запустить страус на pid (strace -p pidnum)
например, мой ipython имеет pid 12608, поэтому я запускаю
strace -po 12608
тогда я бегу
con = MySQLdb.connect('xxx.xxx.xxx.xxx', 'user', '', 'database');
и я вижу, что strace создает успешные соединения
setsockopt(4, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(4, SOL_SOCKET, SO_SNDTIMEO, "\2003\341\1\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(4, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
Я не уверен, как это работает с Pagoda Box, но в обычном терминальном сеансе я бы начал