友人が、レンタルサーバー上にLinuxでMySQLの設定をしました。
そこにSSHで接続し、MySQLへの接続を試みているのですが、接続できません。。
以下のようなコードで実行しております。
SSH接続に関する知識もMySQLに関する知識も少なく、というかないので、手がかりを探しております・・・。
サーバー側のMySQLではユーザーの権限や接続IPアドレスの追加など、考えつくことはしてもらったつもりです。
ちなみに、ローカルのMySQL Workbenchからは接続できていることを確認しております。
念のため、ライブラリはアップデートをしてみました。
コードに原因があるのでしょうか?
補足が必要な場合はご指摘願います!
環境:macOS10.13.6
Python3.6.0
JupyterNotebook使用
MySQL Workbench version6.3.10
python3
1 2from sshtunnel import SSHTunnelForwarder 3import pymysql 4 5port_num = ***** 6with SSHTunnelForwarder( 7 ("ip_address", port_num), 8 ssh_username='username', 9 ssh_password='userpassword', 10 ssh_pkey='/Users/username/Desktop/id_rsa', 11 remote_bind_address=('127.0.0.1', 3306) 12) as server: 13 conn = pymysql.connect(host='127.0.0.1', 14 user='root', 15 password='password', 16 database='dbname' 17) 18 cursor = conn.cursor() 19 sql = "show tables" 20 cursor.execute(sql)
error
1(省略) 2OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 61] Connection refused)")
また、pythonからもSSHでの接続はできているようです。
以下を実行した場合は結果が返ってきます。
python3
1 2port_num = ***** 3with SSHTunnelForwarder( 4 ("ip_address", port_num), 5 ssh_username='username', 6 ssh_password='userpw', 7 ssh_pkey='/Users/username/Desktop/id_rsa', 8 remote_bind_address=('127.0.0.1', 3306) 9) as server: 10 11 print(server.local_bind_port) 12
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。