У меня проблема с получением результата из базы данных mysql по ssh-соединению.Оператор sql верен, но почему у меня в нем нет данных?
from sshtunnel import SSHTunnelForwarder
import MySQLdb as db
import pandas as pd
from pandas import DataFrame
# ssh variabler
host = "192.168.99.101"
localhost = "127.0.0.1"
ssh_username = "user"
ssh_password = "password"
ssh_private_key = '/path/to/key.pem'
# databas variabler
user = "user"
password = "password"
database = "database"
def query(q):
with SSHTunnelForwarder(
(host, 22),
ssh_username=ssh_username,
ssh_password = ssh_password,
remote_bind_address=(localhost, 3306)
) as server:
conn = db.connect(host=localhost,
port=server.local_bind_port,
user=user,
passwd=password,
db=database)
return pd.read_sql_query(q, conn)
begin ="""2018-01-03"""
end = """2018-01-04"""
#run sql query
sql = """select collection_type,sum(order_amount) from pz_orders where order_date between {} and {} and print = 'y' group by collection_type""".format(början,slut)
df = query(sql)
print(df)
Что я получу от возврата из оператора печати, он должен вернуть некоторые числа.
Empty DataFrame
Columns: [collection_type, sum(order_amount)]
Index: []