Django基礎 - 修改默認SQLite3數據庫連接為MySQL


Django數據庫連接默認為SQLite3,打開setting.py可以看到數據庫部分的配置如下:

DATABASES = {                                                                   
    'default': {                                                                
        'ENGINE': 'django.db.backends.sqlite3',                                 
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),                           
    }                                                                           
}   

即若不修改的話會自動在當前項目下生成文件名為db.sqlite3的SQLite數據庫,若想改變數據庫連接為MySQL只需修改DABASES部分的配置即可:

DATABASES = {                                                                   
    'default': {                                                                
        'ENGINE': 'django.db.backends.mysql',                                 
        'HOST': <database host>,
        'PORT': <database port>,
        'NAME': <database name>,
        'USERNAME': <database username>,
        'PASSWORD': <database password>, 
    }                                                                           
}   

假如我在本機有個名為icebug_db的數據庫,端口使用默認的3306,數據庫用戶名為icebug,密碼為icebug_passwd,則配置如下:

DATABASES = {                                                                   
    'default': {                                                                
        'ENGINE': 'django.db.backends.mysql',                                 
        'HOST': 'localhost',
        'PORT': 3306,
        'NAME': 'icebug_db',
        'USERNAME': 'icebug',
        'PASSWORD': 'icebug_passwd', 
    }                                                                           
} 

配置好了之后保存,若你的機子上沒有安裝MySQLdb庫的話到這一步還不算結束,因為Django連接MySQL數據庫用的是MySQLdb庫來連接的,那么下一步就是自己就是安裝MySQLdb庫咯。

由於我是使用的虛擬環境來搭建的,故自然是沒有這個庫的啦,運行然后就會看到如下的錯誤,提示沒有名為MySQLdb的模塊:

注意
直接使用pip install MySQLdb是不能安裝成功的,具體為什么要用另一個名字這個得考究一下....安裝MySQLdb,pip的正確打開方式為:

pip install MySQL-python

但是到這一步還是不一定會成功的,因為安裝MySQL-python又需要依賴系統中其他的庫,若沒有安裝的話會出現如下的報錯:

提示mysql-config沒有找到......到這一步是不是感到有點蛋疼?不要慌~~mysql-config沒有找到那說明是缺少mysql開發庫
安裝MySQL開發庫:

icebug@localhost:~$ sudo apt-get install libmysqlclient-dev

注意:

安裝libmysqlclient-dev的同時另外兩個庫也會一同安裝mysql-common libmysqlclient18

另外還需要安裝的兩個庫為python-dev, python-pip

icebug@localhost:~$ sudo apt-get install python-dev python-pip

歐耶~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM