import pandas as pd
from sshtunnel import SSHTunnelForwarder
import numpy as np
import datetime
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
#from snowflake.sqlalchemy import URL
import pymysql
import mysql.connector
server = SSHTunnelForwarder(
'xxx.xxx.xxx.xxx',
ssh_username='david',
ssh_password='PASSWD',
remote_bind_address=('127.0.0.1', 3306)
)
server.start()
db = pymysql.connections.Connection(
host='127.0.0.1',
user='david',
passwd='PASSWD',
database='SentimentProject',
port=server.local_bind_port,
)
cursor = db.cursor()
engine = create_engine('mysql+pymysql://[david]:[PASSWD]@[127.0.0.1]/[SentimentProject]', echo=False)
print(db)
print(cursor)
print(engine)
Возвращает
<pymysql.connections.Connection object at 0x11b95c450>
<pymysql.cursors.Cursor object at 0x11b60fc90>
Engine(mysql+pymysql://[david]:***@127.0.0.1/[SentimentProject])
И затем, когда я запускаю это:
df = pd.read_csv("PostContents1-999.csv", index_col='post_id').fillna('')
df['post_timestamp'] = pd.to_datetime(df['post_timestamp'], unit='s')
df.head()
Возвращает фрейм данных, как и ожидалось.
Однако при запуске это
df.to_sql(name = 'BitcoinSubreddit', con = engine, if_exists = 'append', index = False)
Я получаю сообщение об ошибке OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user '[david]'@'localhost' (using password: YES)")
При запуске SHOW GRANTS FOR 'david';
внутри моей базы данных на моем сервере он возвращает следующее:
+--------------------------------------------------------------+
| Grants for david@% |
+--------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'david'@'%' WITH GRANT OPTION |
+--------------------------------------------------------------+
Я нахожусь на утрата. У кого-нибудь есть предложения?