美文网首页
Django链接Mysql出现的问题详解

Django链接Mysql出现的问题详解

作者: sn_msw | 来源:发表于2017-07-19 10:50 被阅读0次

    最近在研究Django,在链接数据库的时候出现了一些小问题,记录在此,给自己做个记录,同时给各位一个参考。
    首先说明下,在mac电脑上,用的virtualenv虚拟环境,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)")
    

    出现此问题,网上有一堆详解这个问题的原因,具体可以自己搜索。

    我的解决办法是:

    1.先安装mysql数据库,直接brew安装就行:
    brew install mysql
    
    2.启动mysql服务:
    mysql.server start
    

    关于怎么设置初始化配置root账户参考:
    https://segmentfault.com/q/1010000000475470

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

    我这里设置的数据库名字:TestModel,用户:test ,密码:test123

    4.同时设置数据库的相关参数与setting.py保持一致,具体如下:

    进入数据库:

    mysql -uroot -p
    

    创建数据库 TestModel的参数

    mysql> create database TestModel;
    mysql> create user test idenfified by 'test123';
    mysql> grant all on TestModel.* to 'test'@'%';
    mysql> flush privileges;
    
    5.最后虚拟环境中同步一下:
    python3 manage.py migrate
    python3 manage.py runserver
    

    出现如下:

    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

    相关文章

      网友评论

          本文标题:Django链接Mysql出现的问题详解

          本文链接:https://www.haomeiwen.com/subject/sfzkkxtx.html