Django鏈接Mysql出現(xiàn)的問題詳解

最近在研究Django,在鏈接數(shù)據(jù)庫的時候出現(xiàn)了一些小問題,記錄在此,給自己做個記錄,同時給各位一個參考。
首先說明下,在mac電腦上,用的virtualenv虛擬環(huán)境,Django的版本是1.11.3,Python的版本是3.6

問題1:

_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
 

問題2:

django.db.utils.OperationalError: (1045, "Access denied for user 'test'@'localhost' (using password: YES)")

出現(xiàn)此問題,網(wǎng)上有一堆詳解這個問題的原因,具體可以自己搜索。

我的解決辦法是:

1.先安裝mysql數(shù)據(jù)庫,直接brew安裝就行:
brew install mysql
2.啟動mysql服務(wù):
mysql.server start

關(guān)于怎么設(shè)置初始化配置root賬戶參考:
https://segmentfault.com/q/1010000000475470

3.設(shè)置setting.py中的DATABASES:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',       # 或者使用 mysql.connector.django
        'NAME': 'TestModel',
        'USER': 'test',
        'PASSWORD': 'test123',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

我這里設(shè)置的數(shù)據(jù)庫名字:TestModel,用戶:test ,密碼:test123

4.同時設(shè)置數(shù)據(jù)庫的相關(guān)參數(shù)與setting.py保持一致,具體如下:

進(jìn)入數(shù)據(jù)庫:

mysql -uroot -p

創(chuàng)建數(shù)據(jù)庫 TestModel的參數(shù)

mysql> create database TestModel;
mysql> create user test idenfified by 'test123';
mysql> grant all on TestModel.* to 'test'@'%';
mysql> flush privileges;
5.最后虛擬環(huán)境中同步一下:
python3 manage.py migrate
python3 manage.py runserver

出現(xiàn)如下:

System check identified no issues (0 silenced).
July 19, 2017 - 01:53:41
Django version 1.11.3, using settings 'MySetting.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

以上就是我解決上兩個問題的思路。

參考鏈接:https://stackoverflow.com/questions/2443419/django-mysql-1045-access-denied-for-user

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容