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

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

然后我们在终端启动项目python manage.py runserver

不料发生报错,这个错很明显就是无法连接远程的mysql

下面我们就开始来解决这个问题

首先,我们通过xshell登陆远程的服务器

然后进入 /etc/mysql/my.cnf

然后修改my.cnf 这个文件的内容,保存退出

重启一下mysql

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

授权任意主机登陆
我们现在回到服务器上面,登陆mysql
终端命令为mysql -u root -p123456,-p后面紧跟着是你的密码,不能有空格
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
我们只需改一个地方
password: mysql 密码
授权成功后,我们还需要刷新权限信息flush privileges;
现在搞了这么多我们又回到django,重新运行django项目,python manage.py runserver 发现还是报原来那个错,后来想了想,
因为我用的是阿里云服务器,其中阿里云服务器有一个叫做安全组的东西。
我们可以看到红色框框的那句话: 安全组未设置任何自定义放行规则,会导致无法访问实例端口,若需访问请添加安全组规则放行对应的端口。
因为我们mysql用的是3306这个端口,并没有在安全组找到,所以我们先配一个。
好,到现在我们可以大胆地运行我们的django项目了
 并没有报错,成功地运行了,真happy。。。
我们来验证一下是不是真的连上了远程服务器
我们先查询一下我们django项目的表有没有数据
 
然后我们通过python manage.py shell,手动添加一个,然后在远程服务器查询是否有添加成功,
如果添加成功,说明我们本地的django项目已经连上了远程的服务器。
 
我们已经成功添加一条数据到TestModel中,现在我们在服务器上查询是否有这条数据。
 
很明显我们刚才添加的数据已经存在了,说明大功告成,我们本地的django项目已经连上了远程的服务器。

解决django项目无法连接远程mysql的问题的更多相关文章

  1. 连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的,

    连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的, 2018-03-12 17:08:52.532DEBUG[localhost-startStop-1]o.s.beans.factor ...

  2. Windows环境下,本地Oracle创建dblink连接远程mysql

    前言 我的情况是,本地安装了oracle(安装完成后带有SQL Developer,不需要再安装instantclient),创建dblink去连接远程的mysql.有些朋友可能是 本地使用PL\SQ ...

  3. 3-Windows-CMD启动mysql服务-连接本地mysql服务-连接远程mysql服务

    转自: https://jingyan.baidu.com/article/84b4f565b77a5660f6da32d4.html 备注: 如果在连接远程mysql服务,无法连接时,可能是远程my ...

  4. phpmyadmin连接远程mysql

    phpmaadmin连接远程mysql连接远程mysql步骤.保证已经有�phpmyadmin,如果没有,去http://www.phpmyadmin.net/home_page/downloads. ...

  5. Django之连接远程mysql数据库

    1.创建Django项目(test) 进入配置文件settings.py 192.168.83.129:所需要远程连接数据库的ip地址 2.进入到远程连接的主机,修改/etc/mysql/mysql. ...

  6. PyCharm创建Django项目并连接mysql数据库

    0. 安装Django pip install django 1. 新建项目 注:我的Pycharm为社区版,创建项目时,File->New Project- 显示为: ​ 注意勾选内容. 如果 ...

  7. 解决django项目在ubuntu系统上无法安装mysqlclient

    首先我的项目是django2.0,python环境是3.5. 我们在本地开发完django项目了,在本地运行是成功的,然后我们把django项目放到服务器上,运行的时候就出错了. 如图: 我们都知道, ...

  8. 本地cmd连接远程mysql数据库

    一.登录远程mysql 输入mysql -h要远程的IP地址 -u设置的MySQL用户名 -p登录用户密码 例如:mysql -h 192.168.1.139 -u root -p dorlocald ...

  9. navicat 连接远程mysql

    01putty中session---远程地址(程序访问的域名) ,端口22--load加载进来 02SSH--Auth-Tunnels(隧道)-- putty端口映射SSH--Auth-Tunnels ...

随机推荐

  1. oracle 主键自增并获取自增id

    1 创建表 /*第一步:创建表格*/ create table t_user( id int primary key, --主键,自增长 username varchar(20), password ...

  2. zookeeper分布式之学习搭建

    一.下载: 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/  下载解压到 C:\Users\Administrator\Desk ...

  3. Python小技巧:使用*解包和itertools.product()求笛卡尔积(转)

    leetcode上做提示时候看到有高人用这个方法解题 [问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = [' ...

  4. Comet OJ - Contest #2 C题 言论的阴影里妄想初萌

    题目描述 Takuru 是一名能力者,他在地震时获得了念力致动的能力.所以他经常用自己的能力去干一些奇奇怪怪的事情. 有一天他获得了一张 nn 个点的无向完全图,之后他使用了能力,导致这张图的 \fr ...

  5. libboost_regex 备份用时

    libboost_regex-vc100-mt-s-1_57.lib  //生成数据

  6. python基本数据类型常用方法

    python基本数据类型 1.整型 1.1 int 1.2 bit_lenght # 当前数字的二进制位数,至少用n位表示 r = age.bit_length() >>> a = ...

  7. RPC协议解析

    RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.简言之,RPC使得程序能够像访问本地 ...

  8. java:集合输出之Iterator和ListIterator二

    java:集合输出之Iterator和ListIterator二 ListIterator是Iterator的子接口,Iterator的最大特点是,能向前,或向后迭代.如果现在要想双向输出的话,则只能 ...

  9. Vue刷新token,判断token是否过期

    1.判断token是否过期,前端请求后,后台会返回一个状态给你.根据状态判断是否过期,刷新token 2.是否每次请求后端都会返回新的token给你.或者后端给你定义了一个刷新token的方法,那此时 ...

  10. 【bzoj2002】弹飞绵羊

    题目 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数k ...