Cannot connect to Mysql database

H

Himanshu Garg

I have written the script as:

import os
import MySQLdb as mdb

os.chroot("/lxc/rootfs")
os.chdir("/")
con = mdb.connect(host="192.168.1.7", user="root", passwd="password")
print "opened"
con.close()

But when I execute, I get the following error:

"File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 80, in Connect
ImportError: No module named connections"

I have checked there is a connections.py module in the above directory. Also, when I run the script without doing chroot, it works perfectly.
 
C

Chris Angelico

I have written the script as:

import os
import MySQLdb as mdb

os.chroot("/lxc/rootfs")
os.chdir("/")
con = mdb.connect(host="192.168.1.7", user="root", passwd="password")
print "opened"
con.close()

But when I execute, I get the following error:

"File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 80, in Connect
ImportError: No module named connections"

I have checked there is a connections.py module in the above directory. Also, when I run the script without doing chroot, it works perfectly.

Do you have a full duplicate of your /usr/lib/python2.7 inside
/lxc/rootfs? It looks like the connect call is trying to import
something, and now that you're chrooted, it can't find it. The
solution might be to manually import a few more modules beforehand
(putting them into sys.modules means they don't need to come from the
file system), or to add more files to your chroot jail.

For a guess, I would try:

import MySQLdb.connections

above your chroot, and see if that helps.

ChrisA
 
C

Chris Angelico

For a guess, I would try:

import MySQLdb.connections

above your chroot, and see if that helps.

And possibly also converters, cursors, release, times, and maybe
constants. I just peeked at the MySQLdb source code to see what's in
the package.

ChrisA
 
H

Himanshu Garg

I did:

import MySQLdb as mdb
from MySQLdb import *
from MySQLdb.constants import *

and now it works. Thanks! again
 
C

Chris Angelico

I did:

import MySQLdb as mdb
from MySQLdb import *
from MySQLdb.constants import *

and now it works. Thanks! again

Looks good! Glad it works.

ChrisA
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,276
Latest member
Sawatmakal

Latest Threads

Top