Django连接远程mysql数据库

来源:互联网 发布:电商大数据分析平台 编辑:程序博客网 时间:2024/05/19 02:30

最近在做一款软件,用django搭建的后台管理系统,Android端需要的数据在一台独立的数据库服务器上存放着,需要做的工作是:

(1)连接远程mysql数据库

(2)为远程数据库中的表建立model


(1)django连接远程数据库,

第一步配置setting.py中的DATABASES,令数据库的HOST为数据库服务器的IP,

第二步,开放远程数据库的访问权限,操作如下:

在数据库服务器上登上mysql

mysql -u root -p

开放数据库权限,

>grant all PRIVILEGES on yjc.* to root@'219.246.178.xxx' identified by '123456';

上面这句话的意思就是将yjc这个数据库的所有权开放给用户root,用户root只能在使用219.246.178.xxx时才能登录,并且密码为123456;

如果想把所有数据库的权限开放给用户root,并且不限制用户使用什么ip登录,就需要改成下面的命令:

>grant all PRIVILEGES on *.* to root@'%' identified by '123456';


执行如下命令

>flush privileges;

重启mysql服务

/etc/init.d/mysql restart


现在可以测试一下,使用mysql -u root -h 数据库服务器IP -p进行远程登录,如果出现连接失败,可以打开/etc/mysql/my.cnf,注释掉

#bind-address           = 127.0.0.1


到此为止,连接远程数据库的工作已经做好.

(2)以为django中的数据表都与models.py中的class一一对应,但是我们在连接远程服务器后,models.py中并不存在对应的model,但是一一去创建又太麻烦,所以,django为我们提供了工具来做这件事情:

执行命令:

python manage.py inspectdb >mysite/models.py

这样model.py中就自动创建了对应的model



0 0
原创粉丝点击