美文网首页
关于Django无法连接阿里云数据库的问题解决

关于Django无法连接阿里云数据库的问题解决

作者: 人生ku短 | 来源:发表于2018-10-10 18:57 被阅读0次

    我们都知道django项目可以通过修改settings.py文件中的DATABASES这个对象,使用不同的数据库。

    如图所示,我们想连接远程的mysql,修改settings.py的配置


    1274956-20180316154524359-1695824610.png

    然后我们在终端启动项目python manage.py runserver不料发生报错,这个错很明显就是无法连接远程的mysql


    1274956-20180316154829289-1827505017.png

    下面我们就开始来解决这个问题
    首先,我们通过xshell登陆远程的服务器
    然后进入 /etc/mysql/my.cnf


    1274956-20180316155229683-773309113.png
    然后修改my.cnf 这个文件的内容,保存退出
    1274956-20180316155350991-2055821064.png

    重启一下mysql


    1274956-20180316155624841-1274088246.png 然后回到我们的django项目中,重新启动一下项目,发现还是报之前那个错误,别急,我们还有一个东西没有设置。

    授权任意主机登陆
    我们现在回到服务器上面,登陆mysql
    终端命令为mysql -u root -p123456,-p后面紧跟着是你的密码,不能有空格
    grant all privileges on . to 'root'@'%' identified by 'password' with grant option;
    我们只需改一个地方
    password: mysql 密码

    1274956-20180316163726367-1782073511.png
    授权成功后,我们还需要刷新权限信息flush privileges;
    1274956-20180316161410202-541184285.png
    现在搞了这么多我们又回到django,重新运行django项目,python manage.py runserver 发现还是报原来那个错,后来想了想,
    因为我用的是阿里云服务器,其中阿里云服务器有一个叫做安全组的东西。
    1274956-20180316161958294-2028432008.png
    我们可以看到红色框框的那句话: 安全组未设置任何自定义放行规则,会导致无法访问实例端口,若需访问请添加安全组规则放行对应的端口。
    因为我们mysql用的是3306这个端口,并没有在安全组找到,所以我们先配一个。
    1274956-20180316162235098-1480495127.png 好,到现在我们可以大胆地运行我们的django项目了。

    相关文章

      网友评论

          本文标题:关于Django无法连接阿里云数据库的问题解决

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