1. 程式人生 > >安裝MySQLdb與連線資料庫

安裝MySQLdb與連線資料庫

安裝MySQLdb

win:
首先要確定自己已經安裝pip
1、
檢視是否安裝:
C:\Users\Administrator>pip -V
pip 9.0.1 from d:\python27\lib\site-packages (python 2.7)
出現以上提示則證明已安裝
2、
安裝MySQLdb之前先要安裝wheel,執行pip install wheel命令進行安裝
3、
下載MySQL_python-1.2.5-cp27-none-win32.whl安裝包,在下載之前先要確定你安裝的Python是32位的還是64位的,如果是32位的就下載32位的,如果是64位的就下載64位的。在這裡下載:

http://www.lfd.uci.edu/~gohlke/pythonlibs/
切換到這個軟體包的當前路徑,執行安裝操作:
執行pip install MySQL_python-1.2.5-cp27-none-win32.whl ,如果是安裝64位的,需要把這個檔名改為“MySQL_python-1.2.5-cp27-none-any.whl”。
4、
切入python環境,看能否成功載入模組

C:\Users\Administrator>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500
64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>>

linux:
yum install -y python-devel
pip install mysql-python
完成收工:
如果出現:
EnvironmentError: mysql_config not found
yum install -y mysql-devel

如果import MySQLdb時出現:
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解決:
找到自己資料庫 的依賴庫,做個軟連線過去即可
ln -s /phpstudy/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

配置資料庫許可權:
mysql進行授權:
mysql
create database python;
grant all privileges on . ‘chao’@’%’ identified by ‘123456’;
flush privileges;
解釋:
Mysql命令進入mysql資料庫,create用來建立庫名python,grant 進行授權,授權xiang使用者對所有的伺服器,所有的庫,所有的表都有許可權,密碼123456。

連線資料庫:

#連線資料庫需要ip,使用者密碼,庫名,字符集編碼

import MySQLdb
conn=MySQLdb.connect(host="192.168.1.204",user="root",passwd="123456",db="python",charset="utf-8")

比較常用的引數包括:
host:資料庫主機名.預設是用本地主機
user:資料庫登陸名.預設是當前使用者
passwd:資料庫登陸的祕密.預設為空
db:要使用的資料庫名.沒有預設值
port:MySQL服務使用的TCP埠.預設是3306,數字型別
charset:資料庫編碼

有時候,為了我們程式碼的規範,我更加推薦把所有資料庫的配置寫在一個字典中,如下所示:

def connect_mysql():
    db_config = {
        'host': '192.168.1.204',
        'port': 3306,
        'user': 'root',
        'passwd': '123456',
        'db': 'python',
        'charset': 'utf8'
    }
    try:
        cnx = MySQLdb.connect(**db_config)
    except Exception as e:
        raise e
    return cnx

print(connect_mysql())

結果:<_mysql.connection open to ‘192.168.1.204’ at 3282f18>
這個就代表已經連上資料庫