MySQLdb reconnect

Damjan gdamjan at gmail.com
Wed Jun 29 09:18:10 EDT 2005


> Does MySQLdb automatically reconnect if the connection to the database is
> broken?

It seems so.

> I'm asking this since I have a longrunning Python precess that is
> connected to Mysql-4.1.11, and I execute "set names utf8" when I connect
> to it.
> 
> But after running a day the results from the python program were displayed
> as if the "set names utf8" was not executed i.e. I got question marks
> where utf-8 cyrillics should've appeared. After restarting the Python
> program everything was ok, just as when I first started it.

This is the sollution I've come to:

        try:
            # This will fail on MySQL < 4.1
            db = MySQLdb.connect(godot.dbhost, godot.dbuser, godot.dbpass,
                godot.dbname, use_unicode=1, init_command="set names utf8")
        except MySQLdb.OperationalError:
            db = MySQLdb.connect(godot.dbhost, godot.dbuser, godot.dbpass,
                godot.dbname, use_unicode=1)
        db.charset = 'utf8'


-- 
damjan



More information about the Python-list mailing list