<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _open(self, db, writeAccess=False):
 """ Handles simple, SQL specific connection creation. This will not have to manage thread information as it is already managed within the main open method for the SQLBase class. :param db | <orb.Database> :return <variant> | backend specific database connection """

        if not pymysql:
            raise orb.errors.BackendNotFound('psycopg2 is not installed.')

        # create the python connection
        try:
            return pymysql.connect(db=db.name(),
                                   user=db.username(),
                                   passwd=db.password(),
                                   host=(db.writeHost() if writeAccess else db.host()) or 'localhost',
                                   port=db.port() or 3306,
                                   cursorclass=pymysql.cursors.DictCursor)
        except pymysql.OperationalError as err:
            log.exception('Failed to connect to postgres')
            raise orb.errors.ConnectionFailed()