Python - SSH Tunnel Setup and MySQL DB Access
I am trying to connect to my server from my local(windows) and access the MySQL DB
With the below code setting up the SSH tunnel through putty, I am not able to access the
MySQL DB.
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
With the below code, I am using paramiko to setup SSH tunnel which is successful but I am not able to connect to MySQL DB
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='username', password='password')
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
Error:
Error 2003: Can't connect to MySQL server on '127.0.0.1' (10061)
Do I have change the MySQL connecting string settings to access MySQL DB using paramiko If not I need to add anymore parameter for paramiko to simulate SSH tunnel setup like putty.
mysql-python paramiko
add a comment |
I am trying to connect to my server from my local(windows) and access the MySQL DB
With the below code setting up the SSH tunnel through putty, I am not able to access the
MySQL DB.
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
With the below code, I am using paramiko to setup SSH tunnel which is successful but I am not able to connect to MySQL DB
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='username', password='password')
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
Error:
Error 2003: Can't connect to MySQL server on '127.0.0.1' (10061)
Do I have change the MySQL connecting string settings to access MySQL DB using paramiko If not I need to add anymore parameter for paramiko to simulate SSH tunnel setup like putty.
mysql-python paramiko
add a comment |
I am trying to connect to my server from my local(windows) and access the MySQL DB
With the below code setting up the SSH tunnel through putty, I am not able to access the
MySQL DB.
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
With the below code, I am using paramiko to setup SSH tunnel which is successful but I am not able to connect to MySQL DB
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='username', password='password')
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
Error:
Error 2003: Can't connect to MySQL server on '127.0.0.1' (10061)
Do I have change the MySQL connecting string settings to access MySQL DB using paramiko If not I need to add anymore parameter for paramiko to simulate SSH tunnel setup like putty.
mysql-python paramiko
I am trying to connect to my server from my local(windows) and access the MySQL DB
With the below code setting up the SSH tunnel through putty, I am not able to access the
MySQL DB.
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
With the below code, I am using paramiko to setup SSH tunnel which is successful but I am not able to connect to MySQL DB
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='username', password='password')
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
Error:
Error 2003: Can't connect to MySQL server on '127.0.0.1' (10061)
Do I have change the MySQL connecting string settings to access MySQL DB using paramiko If not I need to add anymore parameter for paramiko to simulate SSH tunnel setup like putty.
mysql-python paramiko
mysql-python paramiko
asked Oct 20 '12 at 15:24
Earnest JasonEarnest Jason
2114
2114
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can use sshtunnel wrapper for paramiko and save you headaches ;)
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('host', 22),
ssh_password="password",
ssh_username="username",
remote_bind_address=('127.0.0.1', 3308)) as server:
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=server.local_bind_port)
cur = con.cursor()
3
yup, this one worked. In case you are using id_rsa just replacessh_password
parameter withssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12989866%2fpython-ssh-tunnel-setup-and-mysql-db-access%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use sshtunnel wrapper for paramiko and save you headaches ;)
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('host', 22),
ssh_password="password",
ssh_username="username",
remote_bind_address=('127.0.0.1', 3308)) as server:
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=server.local_bind_port)
cur = con.cursor()
3
yup, this one worked. In case you are using id_rsa just replacessh_password
parameter withssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
|
show 1 more comment
You can use sshtunnel wrapper for paramiko and save you headaches ;)
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('host', 22),
ssh_password="password",
ssh_username="username",
remote_bind_address=('127.0.0.1', 3308)) as server:
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=server.local_bind_port)
cur = con.cursor()
3
yup, this one worked. In case you are using id_rsa just replacessh_password
parameter withssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
|
show 1 more comment
You can use sshtunnel wrapper for paramiko and save you headaches ;)
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('host', 22),
ssh_password="password",
ssh_username="username",
remote_bind_address=('127.0.0.1', 3308)) as server:
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=server.local_bind_port)
cur = con.cursor()
You can use sshtunnel wrapper for paramiko and save you headaches ;)
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('host', 22),
ssh_password="password",
ssh_username="username",
remote_bind_address=('127.0.0.1', 3308)) as server:
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=server.local_bind_port)
cur = con.cursor()
answered Jul 26 '15 at 16:13
jsjcjsjc
65821022
65821022
3
yup, this one worked. In case you are using id_rsa just replacessh_password
parameter withssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
|
show 1 more comment
3
yup, this one worked. In case you are using id_rsa just replacessh_password
parameter withssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
3
3
yup, this one worked. In case you are using id_rsa just replace
ssh_password
parameter with ssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
yup, this one worked. In case you are using id_rsa just replace
ssh_password
parameter with ssh_private_key=PATH_TO_id_rsa
– Manuel G
Jul 29 '15 at 23:16
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
Yep! that's another option ;)
– jsjc
Jul 30 '15 at 2:25
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:
File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
what is mdb ? I have an error which says "mdb not defined". after replacing it with "MySQLdb" (just a guess), I know have an error:
File "C:Python27libsite-packagesMySQLdbcursors.py", line 202, in execute self.errorhandler(self, exc, value) File "C:Python27libsite-packagesMySQLdbconnections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
– 62mkv
Aug 4 '15 at 10:45
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
Ok, I got it - I was working with cur beyond the scope of "with .. server:" construction ! 4 spaces did the magic (as usual in Python !)
– 62mkv
Aug 4 '15 at 11:00
1
1
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
This example was made directly for Earnests question thats why kept it as mdb, so I left things as per his sample. Glad you got it sorted!
– jsjc
Aug 4 '15 at 16:25
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12989866%2fpython-ssh-tunnel-setup-and-mysql-db-access%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown