Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ssh ssh_user@ssh_server_host_name -p 22
- mysql -h mysql_server_host_name -P 3306 -u mysql_user -p
- # -*- coding: utf-8 -*-
- from sshtunnel import SSHTunnelForwarder
- # モジュール読み込み
- import pymysql.cursors
- # SSH関連の設定
- with SSHTunnelForwarder(
- ("ssh_server_host_name", 22),
- ssh_username="ssh_user",
- ssh_password="ssh_pass",
- remote_bind_address=('mysql_server_host_name', 3306)
- ) as server:
- print("connected server")
- # # MySQLに接続する
- conn = pymysql.connect(host='mysql_server_host_name',
- user='mysql_user',
- password='pass',
- db='db_name',
- charset='utf8',
- port=server.local_bind_port,
- cursorclass=pymysql.cursors.DictCursor)
- # select
- # SQLを実行する
- cursor = conn.cursor()
- sql = "show tables"
- cursor.execute(sql)
- # Select結果を取り出す
- rets = cursor.fetchall()
- for r in rets:
- print(r)
- # MySQLから切断する
- conn.close()
- Traceback (most recent call last):
- File "/Users/user/venv/lib/python3.7/site-packages/pymysql/connections.py", line 582, in connect
- **kwargs)
- File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 727, in create_connection
- raise err
- File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 716, in create_connection
- sock.connect(sa)
- socket.timeout: timed out
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/Users/user/PycharmProjects/bitflyerPredict/database.py", line 25, in <module>
- cursorclass=pymysql.cursors.DictCursor)
- File "/Users/user/PycharmProjects/bitflyerPredict/venv/lib/python3.7/site-packages/pymysql/__init__.py", line 94, in Connect
- return Connection(*args, **kwargs)
- File "/Users/user/PycharmProjects/bitflyerPredict/venv/lib/python3.7/site-packages/pymysql/connections.py", line 327, in __init__
- self.connect()
- File "/Users/user/PycharmProjects/bitflyerPredict/venv/lib/python3.7/site-packages/pymysql/connections.py", line 629, in connect
- raise exc
- pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '(hostname)' (timed out)")
- conn = pymysql.connect(host='localhost',
- user='mysql_user',
- password='pass',
- db='db_name',
- charset='utf8',
- port=server.local_bind_port,
- cursorclass=pymysql.cursors.DictCursor)
Add Comment
Please, Sign In to add comment