zoukankan      html  css  js  c++  java
  • django 连接mysql

    一:环境设置:

    因为我用的python3.x  django的版本较低。连接mysql 需要 mysql-python 需要mysqldb来连接,最后安装mysqldb的时候,需要安装python2.7。 崩溃。

    最后网上查只需要修改project里的__int__.py文件。添加如下既可用pymysql  坑啊。折腾一晚上。

    1 import pymysql
    2 pymysql.install_as_MySQLdb()

     当前需要安装pymysql模块。

    然后在setting.py里设置:

     1 DATABASES = {
     2     'default': {
     3         'ENGINE': 'django.db.backends.mysql',#数据库连接引擎。
     4         'NAME': 'django',#数据库的名字。
     5         'USER': 'evil',#用户。
     6         'PASSWORD': '123',#密码
     7         'HOST': '192.168.31.222',#连接IP
     8         'PORT': '3306',#端口。
     9     }
    10 }

     因为连接不同的数据库数据库的引擎是不一样的。

    1 'django.db.backends.postgresql'
    2 'django.db.backends.mysql'
    3 'django.db.backends.sqlite3'
    4 'django.db.backends.oracle'

    如果使用 SQLite,请对数据库文件指定完整的文件系统路径。 例如

    1 DATABASE_NAME = '/home/django/mydata.db'

    HOST: 告诉 Django 连接哪一台主机的数据库服务器。 如果数据库与 Django 安装于同一台计算机(即本机),可将此项保留空白。 如果你使用SQLite,此项留空。
    此处的 MySQL 是一个特例。 如果使用的是 MySQL 且该项设置值由斜杠(  '/' )开头,MySQL 将通过Unix socket 来连接指定的套接字,例如

    1 DATABASE_HOST = '/var/run/mysql'

    二:数据库设置:

    给远程IP授权访问:

    1  GRANT ALL PRIVILEGES ON *.* TO 'evil'@'192.168.1.100'WITH GRANT OPTION; 

     给用户授权并赋予密码:

    Grant all on django.* to 'evil'@'192.168.31.125' identified by "123"

    三:测试
    当我们设置好前2项之后,我们需要测试我们的连接串是否有问题:

    打开terminal 执行如下命令:

    python manage.py shell

    如果没报错,说明我们建立的连接是没问题的。

    如上是连接非默认sqlite的数据库的方法.

  • 相关阅读:
    Electio Time poj
    排列的字典序问题
    poj 2365
    编程中的命名设计那点事(转)
    编程命名中的7+1个提示(转)
    poj 1664 放苹果——递归
    再论字典序
    poj 3618
    sort用法
    poj 1088
  • 原文地址:https://www.cnblogs.com/evilliu/p/5931598.html
Copyright © 2011-2022 走看看