Vše, co bylo požadováno, bylo pro buffered
být nastaven na true!
cursor = cnx.cursor(buffered=True)
Důvodem je, že bez kurzoru s vyrovnávací pamětí se výsledky načítají „líně“, což znamená, že „načítání“ ve skutečnosti načte pouze jeden řádek z úplné sady výsledků dotazu. Když znovu použijete stejný kurzor, bude si stěžovat, že stále máte n-1 výsledků (kde n je množství sady výsledků), které čekají na načtení. Když však použijete kurzor s vyrovnávací pamětí, konektor načte VŠECHNY řádky za scénou a vy prostě vezmete jeden z konektoru, takže si mysql db nebude stěžovat.