开发好一个Django项目后,最终项目和数据库都要迁移到服务器上,但服务器上新建的数据库是没有数据的,mysql
此时咱们能够在Navicat工具中将本地数据库中的数据导入到服务器端的数据库中,可是当团队合做开发的时候,sql
若是每个人都各自使用一个数据库,最终进行数据合并是不现实的,没法实现数据统一。shell
采用搭在阿里云上MySQL。这样开发的时候避免仓库中含有数据库文件,数据不能统一。数据库
采用一个远端数据库,能够保证多人开发,共享一个数据库,实现数据统一。django
实现步骤:安全
xshell 链接云主机:帐户 用户密码
xshell下云主机中安装好mysql
设置mysql远程数据库帐户 密码
登陆数据库服务器:
为了能远程登录Mysql数据库,须要打开访问权限:
进入Mysql后:
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> 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地址,输入云端数据库帐户密码,链接测试!
此此时会报错:没法链接ui
须要对服务器作一下配置:
一、用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。
二、在云服务器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来写入数据库
如今就把数据库的结构同步过去了!