我查看了StackOverflow上的这些答案,但它们对我不起作用:A1,A2和A3。
我按照这些答案编写了我的代码,并得到了“(1045,“访问被拒绝'user'@'localhost'(使用密码:YES)'”)"。为什么会这样?
我的代码如下:
第一次尝试:
我按照这些答案编写了我的代码,并得到了“(1045,“访问被拒绝'user'@'localhost'(使用密码:YES)'”)"。为什么会这样?
我的代码如下:
第一次尝试:
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'的访问被拒绝(使用密码:是)”)
那么我怎样才能通过SSH连接到我的远程Mysql?
此外,我在本地的mysql workbench中使用相同的“ssh主机名”、“mysql主机名”和“mysql服务器端口”。不知道是否会产生影响。
#我使用***替换了一些私人信息。