paulg
paulg

Reputation: 728

Python3 Loop Through Array of DBs Then Connect

I am trying to loop through a number of mysql hosts which have the same connection info and execute the same query on each of them & fetch the results.

I'm still learning python & am stuck on the following;

import pymysql

ENDPOINTS=['endpoint01', 'endpoint02', 'endpoint03', 'endpoint04']
USER="SOME_USER"
PASS="SOME_PASSWORD"

print("Testing")

for x in ENDPOINTS:
  # Open database connection
  DATAB = pymysql.connect(x,USER,PASS)
  cursor = DATAB.cursor()
  cursor.execute("show databases like 'THIS%'")
  data = cursor.fetchall()
  print (data)
  DATAB.close()

And this is the error I receive;

DATAB = pymysql.connect(x,USER,PASS)
TypeError: __init__() takes 1 positional argument but 4 were given

Upvotes: 0

Views: 59

Answers (1)

Ben
Ben

Reputation: 41

You're passing the parameters incorrectly. Try DATAB = pymysql.connect(host=x,user=USER,password=PASS):

Upvotes: 4

Related Questions