Я проверил эти ответы в StackOverflow, но они мне не подходят: A1 , A2 и A3 .
I напишите мой код, как эти ответы, и получите '(1045, "Доступ запрещен для пользователя' root '@' localhost '(с использованием пароля: ДА)")'. Почему?
здесь мой код:
первая попытка:
from sshtunnel import SSHTunnelForwarder
with SSHTunnelForwarder(
('****.ucd.ie', 22),
ssh_password="***",
ssh_username="s***",
remote_bind_address=('127.0.0.1', 3306)) as server:
con = pymysql.connect(user='root',passwd='***',db='dublinbus',host='127.0.0.1',port=3306)
вторая попытка:
from sshtunnel import SSHTunnelForwarder
import pymysql
import pandas as pd
tunnel = SSHTunnelForwarder(('****.ucd.ie', 22), ssh_password='***', ssh_username='s***t',
remote_bind_address=('127.0.0.1', 3306))
tunnel.start()
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='****', port=3306)
data = pd.read_sql_query("SHOW DATABASES;", conn)
третья попытка:
from sshtunnel import SSHTunnelForwarder
import pymysql
with SSHTunnelForwarder(
('****.ucd.ie',22),
ssh_password='****',
ssh_username='s****t',
remote_bind_address=('127.0.0.1', 3306)) as server:
db_connect = pymysql.connect(host='127.0.0.1',
port=3306,
user='root',
passwd='****',
db='dublinbus')
cur = db_connect.cursor()
cur.execute('SELECT stop_num FROM dublinbus.stops limit 10;')
data=cur.fetchone()
print(data[0])
Все они дают мне: (1045, «Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: ДА)»)
Итак, как я могу подключиться к моему удаленный Mysql через S SH?
Более того, я использую те же s sh hostname и mysql hostname '' mysql server port 'в моем локальном mysql workbench . Не знаю, повлияет это какое-то действие или нет.
# Я использую *** для замены некоторой личной информации.