@cryptotaxi247 / netdata-1 / commits / c26781420

change handling of mysql connection parameters

paulfantom committed Sep 17, 2016 at 18:49 UTC c2678142030ece5da3b2810046229793024c30ab
1 file changed +11 -22
python.d/mysql.chart.py
+11 -22
@@ -317,40 +317,29 @@ class Service(SimpleService):
317 :param configuration: dict
318 :return: dict
319 """
320 + parameters = {}
321 if self.name is None:
322 self.name = 'local'
322 - if 'user' not in configuration:
323 - self.configuration['user'] = 'root'
324 - if 'pass' not in configuration:
325 - self.configuration['pass'] = ''
323 + if 'user' in configuration:
324 + parameters['user'] = self.configuration['user']
325 + if 'pass' in configuration:
326 + parameters['passwd'] = self.configuration['pass']
327 if 'my.cnf' in configuration:
327 - self.configuration['socket'] = ''
328 - self.configuration['host'] = ''
329 - self.configuration['port'] = 0
328 + parameters['read_default_file'] = self.configuration['my.cnf']
329 elif 'socket' in configuration:
331 - self.configuration['my.cnf'] = ''
332 - self.configuration['host'] = ''
333 - self.configuration['port'] = 0
330 + parameters['unix_socket'] = self.configuration['socket']
331 elif 'host' in configuration:
335 - self.configuration['my.cnf'] = ''
336 - self.configuration['socket'] = ''
332 + parameters['host'] = self.configuration['host']
333 if 'port' in configuration:
338 - self.configuration['port'] = int(configuration['port'])
339 - else:
340 - self.configuration['port'] = 3306
334 + parameters['port'] = self.configuration['port']
335 + self.connection_parameters = parameters
336
337 def _connect(self):
338 """
339 Try to connect to MySQL server
340 """
341 try:
347 - self.connection = MySQLdb.connect(user=self.configuration['user'],
348 - passwd=self.configuration['pass'],
349 - read_default_file=self.configuration['my.cnf'],
350 - unix_socket=self.configuration['socket'],
351 - host=self.configuration['host'],
352 - port=self.configuration['port'],
353 - connect_timeout=self.update_every)
342 + self.connection = MySQLdb.connect(connect_timeout=self.update_every, **self.connection_parameters)
343 except MySQLdb.OperationalError as e:
344 self.error("Cannot establish connection to MySQL.")
345 self.debug(str(e))