开发好一个Django项目后,最终项目和数据库都要迁移到服务器上,但服务器上新建的数据库是没有数据的,
此时我们可以在Navicat工具中将本地数据库中的数据导入到服务器端的数据库中,但是当团队合作开发的时候,
如果每一个人都各自使用一个数据库,最终进行数据合并是不现实的,无法实现数据统一。
采用搭在阿里云上MySQL。这样开发的时候避免仓库中含有数据库文件,数据不能统一。
采用一个远端数据库,可以保证多人开发,共享一个数据库,实现数据统一。
实现步骤:
xshell 连接云主机:账户 用户密码xshell下云主机中安装好mysql设置mysql远程数据库账户 密码登录数据库服务器:为了能远程登陆Mysql数据库,需要打开访问权限: 进入Mysql后:mysql> use mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> GRANT ALL PRIVILEGES ON *.* TO 用户名@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;Query OK, 0 rows affected (0.03 sec)mysql> commit;Query OK, 0 rows affected (0.00 sec)mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)mysql> exit;Bye再重启数据库service mysql restart
这样就可以通过任何主机,用你设置的用户名,密码远程访问数据库。
Navicate 连接云数据库:在本地客户端管理
localhost改为云服务器IP地址,输入云端数据库账户密码,连接测试!此此时会报错:无法连接
需要对服务器做一下配置:1、用xshell连接云服务器ECS,修改/etc/mysql/my.cnf 或者 /etc/mysql/mysql.conf.d/mysqld.cnf将bind-address = 127.0.0.1改为bind-address = 0.0.0.0。
2、在云服务器ECS中---安全组-----配置规则-----添加安全组规则把3306端口加上去,才能连接到数据库!
以上修改完成以后,测试一下:本地访问:mysql -u root -h 云服务器IP地址 -P 3306 -p密码-h:阿里云ip地址 root:设置的用户 -P:端口号 -p后面为数据库密码
就可以连上远程数据库了!
再在Navicat中连接远程MySQL数据库:把主机名或IP地址栏改为你的云服务器IP地址,端口3306,数据库密码即可连接成功!
Django项目中远程连接数据库在Django项目的settings.py中配置数据库:DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'mysql','USER': 'root','PASSWORD': 'xxxx','HOST': '云服务器IP地址','PORT': '3306',}}然后输入Python manage.py migrate来写入数据库
现在就把数据库的结构同步过去了!
转载于:https://www.cnblogs.com/chandb/p/7425927.html