python3.5 django1.10 連接mysql時(shí)遇到的問題以及解決方法

首先是關(guān)于啟動(dòng)mysql:
1.在mac下可以用pkg文件直接安裝。
2.然后可以在系統(tǒng)偏好設(shè)置里面啟動(dòng)檐嚣。但是你會(huì)發(fā)現(xiàn)你除了啟動(dòng)mysql其余什么都不能夠做哲戚。
3.因?yàn)槟銜?huì)發(fā)現(xiàn):


屏幕快照 2016-10-22 下午1.10.19.png

4.這意味我們需要進(jìn)入到mysql的目錄中去蘸鲸。(和windows中命令的運(yùn)行相類似)

/usr/local/mysql/

5.ls:

屏幕快照 2016-10-22 下午1.16.00.png

6.進(jìn)入bin文件夾中噪伊,bin中存放的是可以執(zhí)行的文件。
7.執(zhí)行./mysql -u root -p password 可以在輸入原來的密碼之后更換密碼磁携。
8.執(zhí)行./mysql -u root -p可以在輸入密碼后進(jìn)入數(shù)據(jù)庫中褒侧,這些的前提都是你在系統(tǒng)偏好設(shè)置里面開啟了mysql。
9.如果沒有開啟數(shù)據(jù)庫可以使用sudo /usr/local/mysql/support-files/mysql.server start 來啟動(dòng)谊迄。
10.同時(shí)關(guān)閉數(shù)據(jù)庫用的命令是sudo /usr/local/mysql/support-files/mysql.server stop

----------------------分割線闷供?喵喵喵。--------------

OK统诺,現(xiàn)在可以在命令行中正確使用mysql了歪脏,那么我們需要在我們django框架下的python3項(xiàng)目中正確的使用mysql。
1.mysql和python之間的連接需要一個(gè)中間的部分粮呢。
2.python3.2開始就不對(duì)mysqlDB支持了婿失,但是django的默認(rèn)連接是mysqlDB,這樣我們只能通過其他的方式來連接數(shù)據(jù)庫了鬼贱。
3.python3.2之后使用PyMySQL連接數(shù)據(jù)庫移怯,當(dāng)你使用:

pip install PyMySQL

來安裝pymysql的時(shí)候你會(huì)發(fā)現(xiàn),他會(huì)告訴你已經(jīng)安裝好了这难。但我的情況是這個(gè)沒用。
所以我又重新安裝了一遍葡秒,怎么安裝呢姻乓?
下載zip包,命令行cd到解壓后的目錄眯牧,然后輸入:

python setup.py install

我是重新安裝一遍數(shù)據(jù)庫就可以正常的連接了蹋岩。。学少。(:з」∠)

4.然后需要在項(xiàng)目的init.py文件中的插入:

import pymysql
pymysql.install_as_MySQLdb()

不加的話可能會(huì)報(bào)錯(cuò)剪个,像這樣:

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x10f198378>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 25, in <module>
    import MySQLdb as Database
ImportError: No module named 'MySQLdb'
屏幕快照 2016-10-22 下午7.56.47.png

5.當(dāng)然在settings.py文件也還要插入mysql的配置信息:

屏幕快照 2016-10-22 下午7.41.39.png

這個(gè)是老生常談的一個(gè)東西了。

然后我們跑一遍:

Performing system checks...

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x102a6b6a8>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 263, in get_new_connection
    conn = Database.connect(**conn_params)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/__init__.py", line 90, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 688, in __init__
    self.connect()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 906, in connect
    self._request_authentication()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 1114, in _request_authentication
    auth_packet = self._read_packet()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 981, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 393, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.InternalError: (1049, "Unknown database 'choosesubject'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run
    self.check(display_num_errors=True)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/usr/local/lib/python3.5/site-packages/django/core/checks/model_checks.py", line 30, in check_all_models
    errors.extend(model.check(**kwargs))
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 1266, in check
    errors.extend(cls._check_fields(**kwargs))
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 1337, in _check_fields
    errors.extend(field.check(**kwargs))
  File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 893, in check
    errors = super(AutoField, self).check(**kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 208, in check
    errors.extend(self._check_backend_specific_checks(**kwargs))
  File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 311, in _check_backend_specific_checks
    return connections[db].validation.check_field(self, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/validation.py", line 41, in check_field
    field_type = field.db_type(connection)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 629, in db_type
    return connection.data_types[self.get_internal_type()] % data
  File "/usr/local/lib/python3.5/site-packages/django/db/__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/usr/local/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 183, in data_types
    if self.features.supports_microsecond_precision:
  File "/usr/local/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/features.py", line 54, in supports_microsecond_precision
    return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
  File "/usr/local/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 367, in mysql_version
    with self.temporary_connection() as cursor:
  File "/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/python3.5/contextlib.py", line 59, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 564, in temporary_connection
    cursor = self.cursor()
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 231, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 204, in _cursor
    self.ensure_connection()
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.5/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 263, in get_new_connection
    conn = Database.connect(**conn_params)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/__init__.py", line 90, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 688, in __init__
    self.connect()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 906, in connect
    self._request_authentication()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 1114, in _request_authentication
    auth_packet = self._read_packet()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 981, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/connections.py", line 393, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.5/site-packages/PyMySQL-0.7.9-py3.5.egg/pymysql/err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
django.db.utils.InternalError: (1049, "Unknown database 'choosesubject'")

解決方法來自這里版确。因?yàn)闆]有創(chuàng)建SCS數(shù)據(jù)表扣囊。乎折。我以為NAME關(guān)鍵字只是用來標(biāo)識(shí)用的,爽快的打出了gg侵歇。骂澄。

后續(xù)遇到問題還會(huì)更新。(?_?)
多想能夠不更新就好了呢惕虑。坟冲。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末溃蔫,一起剝皮案震驚了整個(gè)濱河市健提,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伟叛,老刑警劉巖私痹,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傻铣,死亡現(xiàn)場離奇詭異锭环,居然都是意外死亡械馆,警方通過查閱死者的電腦和手機(jī)逃默,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門己沛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呀页,“玉大人颗祝,你說我怎么就攤上這事著蛙』愿纾” “怎么了桦山?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長醋旦。 經(jīng)常有香客問我恒水,道長,這世上最難降的妖魔是什么饲齐? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任钉凌,我火速辦了婚禮,結(jié)果婚禮上捂人,老公的妹妹穿的比我還像新娘御雕。我一直安慰自己,他們只是感情好滥搭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布酸纲。 她就那樣靜靜地躺著,像睡著了一般瑟匆。 火紅的嫁衣襯著肌膚如雪闽坡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音疾嗅,去河邊找鬼外厂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宪迟,可吹牛的內(nèi)容都是我干的酣衷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼次泽,長吁一口氣:“原來是場噩夢啊……” “哼穿仪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起意荤,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤啊片,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后玖像,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體紫谷,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年捐寥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笤昨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡握恳,死狀恐怖瞒窒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乡洼,我是刑警寧澤崇裁,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站束昵,受9級(jí)特大地震影響拔稳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锹雏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一巴比、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧礁遵,春花似錦匿辩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挺庞。三九已至晰赞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掖鱼。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工然走, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戏挡。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓芍瑞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親褐墅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拆檬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容