共計 2231 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章給大家介紹 python MySQLdb 如何配置 python 鏈接 MYSQL,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、下載 MySQL for Python
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
2、安裝
yum install python-devel-2.7.5-48.el7.x86_64
tar zxvf MySQL-python-1.2.3.tar.gz
$ cd MySQL-python-1.2.3
修改 setup_posix.py 中 mysql_config.path =“mysql_config”修改為你 mysql 軟件下對應路徑
mysql_config.path = /home/mysql/soft/mysql5717/bin/mysql_config
$ python setup.py build
$ python setup.py install
[root@node1 lib]# python testconn.py
Traceback (most recent call last):
File testconn.py , line 3, in module
import MySQLdb
File build/bdist.linux-x86_64/egg/MySQLdb/__init__.py , line 19, in module
File build/bdist.linux-x86_64/egg/_mysql.py , line 7, in module
File build/bdist.linux-x86_64/egg/_mysql.py , line 6, in __bootstrap__
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
[root@node1 lib]# find / -name libmysqlclient
[root@node1 lib]# find / -name libmysqlclient.so.20
/home/mysql/soft/mysql5717/lib/libmysqlclient.so.20
做一個軟連接到 /usr/lib64 目錄(64 為系統)
ln -s /home/mysql/soft/mysql5717/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20
還是有報錯找不到 socket
[root@node1 duanfj]# python testconn.py
Traceback (most recent call last):
File testconn.py , line 6, in module
conn=MySQLdb.connect(host= localhost ,user= root ,passwd= root ,db= test ,port=3306,charset= utf8)
File build/bdist.linux-x86_64/egg/MySQLdb/__init__.py , line 81, in Connect
File build/bdist.linux-x86_64/egg/MySQLdb/connections.py , line 187, in __init__
_mysql_exceptions.OperationalError: (2002, Can t connect to local MySQL server through socket /tmp/mysql.sock (2) )
這個簡單 做個軟鏈接 大功告成
ln -s /tmp/my3306.sock /tmp/mysql.sock
[root@node1 MySQL-python-1.2.3]# python testconn.py
1
1
row1
2
row2
3
row
4
row4
[root@node1 MySQL-python-1.2.3]#
##############
[root@node1 MySQL-python-1.2.3]# cat testconn.py
# -*- coding: utf-8 -*-
#mysqldb
import MySQLdb
# 連接
conn=MySQLdb.connect(host= localhost ,user= root ,passwd= root ,db= test ,port=3306,charset= utf8)
cursor = conn.cursor()
# 寫入
sql = insert into test(a,b) values(%s,%s)
param = (4, row4)
n = cursor.execute(sql,param)
print n
# 查詢
n = cursor.execute(select * from test)
for row in cursor.fetchall():
for r in row:
print r
# 刪除
# 關閉
conn.close()
關于 python MySQLdb 如何配置 python 鏈接 MYSQL 就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。