def create_database(self, database=''): """ Try to create new database assumes that we have privileges to create new one and try to drop database with the normal user """ if database: name = database else: name = self.database try: co = cf.create_connector (self.conn) co.connect(self.username, self.password, self.hostname) mysqlquery = "DROP DATABASE IF EXISTS " + str(name) + ";\n" co.execute(mysqlquery) mysqlquery = "CREATE DATABASE " + str(name) + ";\n" co.execute(mysqlquery) co.close() except StandardError: sys.stderr.write ("WARNING: unable to create database. User " + self.username + " doesn't have privileges") self.create_user()
def __init__(self, driver): server = '' user = '' pwd = '' db = '' conn = '' # Parse and extract items from driver string match=re.match('([^:]*)://(.*)/([^\?]*)\?*(.*)', driver) if match: gps = match.groups() # Match at least with connection type if len(gps) >= 1: conn = gps[0] # Match at least with connection + user/pass if len(gps) >= 2: aux = gps[1] if aux.find('@') >= 0: upwd, server = aux.split('@') if aux.find(":") >= 0: user, pwd = upwd.split(':') else: if aux.find(':') >= 0: user, pwd = aux.split(':') else: server = aux # Math with everything if len(gps) >= 3: db = gps[2] self.username = user self.password = pwd self.hostname = server self.database = db self.conn = conn # Create connection self.__connection = None self.__connection = cf.create_connector (conn) #try: self.__connection.connect (self.username, self.password, self.hostname, self.database) """
def create_user(self, user='', password='', hostname='', database=''): """ Create User. Connection needs to have privileges """ admin_user = raw_input ("MySQL admin username: "******"MySQL admin password: "******"GRANT ALL ON "+str(self.database) mysqlquery += ".* TO " + str(self.username) + "@" + str(self.hostname) mysqlquery += " IDENTIFIED BY \""+str(self.password)+"\";\n" try: connaux = cf.create_connector(self.conn) connaux.connect(admin_user, admin_password, self.hostname) connaux.execute(mysqlquery) connaux.close() self.create_database() except StandardError: sys.exit("Error: Cannot create user")