1. 程式人生 > >Django連線遠端資料庫

Django連線遠端資料庫

前言

Django專案中,資料庫最好只有一個。不採用原先預設的Sqlite3資料庫,採用搭在阿里雲上Mysql。這樣開發的時候避免倉庫中含有資料庫檔案,資料不能統一。採用一個遠端資料庫,可以保證多人開發,共享一個數據庫,實現資料統一。

這樣就需要在Django中配置遠端Mysql資料庫。

安裝Mysql資料庫

在阿里雲上安裝Mysql資料庫,步驟很簡單:

apt-get update
apt-get install mysql-server-5.5.2
apt-get isntall mysql-client
apt-get install libmysqlclient-dev

通過以上命令就安裝好了,訪問資料庫:

mysql -u root -p

輸入密碼,初始應該是123456,就可以登進去
這裡寫圖片描述
這樣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 [email protected]'%' IDENTIFIED BY '123456' 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

這樣就可以通過任何主機,以root使用者名稱,123456為密碼遠端訪問資料庫。

再重啟資料庫

service mysql restart

本地訪問

本地需要安裝mysql客戶端,然後訪問

 mysql -u root -h 139.129.19.240 -P 3306 -p123456

-h:阿里雲ip地址
root:設定的使用者
-P:埠號
-p後面為密碼

這樣如果能訪問,就說明遠端訪問Mysql已經正常了
這裡寫圖片描述

Django配置遠端資料庫

在Django專案的settings.py中配置資料庫:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '139.129.19.240',
        'PORT': '3306',
    }
}

然後輸入python manage.py migrate來寫入資料庫:
會報錯!!!

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

說明MySQLdb這個庫未安裝或者安裝不正確!
按照stackoverflow上通過pip安裝一直不對,查了各種資料,終於解決了!
正確姿勢如下,通過原始碼安裝:

wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz 
tar zxvf MySQL-python-1.2.3.tar.gz
python setup.py build 
python setup.py install 

如果在build時候遇到:
ImportError: No module named setuptools
解決如下:

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install

至此MySQLdb就算安裝完畢了:

再次執行:python manage.py migrate就已經正確寫入資料了:
這裡寫圖片描述
檢視遠端資料庫,確實已經有資料了:
這裡寫圖片描述
至此Django就已經正確連線遠端Mysql了!

相關推薦

Django連線遠端資料庫

前言 Django專案中,資料庫最好只有一個。不採用原先預設的Sqlite3資料庫,採用搭在阿里雲上Mysql。這樣開發的時候避免倉庫中含有資料庫檔案,資料不能統一。採用一個遠端資料庫,可以保證多人開發,共享一個數據庫,實現資料統一。 這樣就需要在Djang

Django連線遠端mysql資料庫

最近在做一款軟體,用django搭建的後臺管理系統,Android端需要的資料在一臺獨立的資料庫伺服器上存放著,需要做的工作是: (1)連線遠端mysql資料庫 (2)為遠端資料庫中的表建立model (1)django連線遠端資料庫, 第一步配置setting.py中的

django專案連線遠端資料庫

1、遠端資料庫開放連線許可權 2、django專案中settings中的host填寫遠端資料庫的公有ip,及填寫遠端資料庫的使用者名稱和密碼 3、在views.py中連線程式碼中:host,使用者名稱和密碼都填寫遠端資料庫的資訊

sql 2000 無法連線遠端資料庫 sqlserver不存在或訪問被拒絕 解決方案

一 看ping 伺服器IP能否ping通。    這個實際上是看和遠端sql server 2000伺服器的物理連線是否存在。如果不行,請檢查網路,檢視配置,當然得確保遠端sql server 2000伺服器的IP拼寫正確。    二 在Dos或命令列下輸入telnet 伺服器I

Django連線mysql資料庫操作

Y12 1、建立工程 django-admin startproject django_3 2、建立app python manage.py startapp app1 3、Mysql資料庫配置  (1)啟動資料庫    1>若沒啟動,先在管理員模式下直接啟動mysql:

django連線mysql資料庫的一對一,一對多,多對多關係模型的建立

Y19   介紹如何建立各種關係的資料模型,具體實現各種功能 先配置settings.py中連線mysql資料庫:(Y12有介紹) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.m

配置PL/SQL Developer連線遠端資料庫

1.找到plsql的安裝目錄,新建目錄C:\Program Files\PLSQL Developer\instantclient\network\admin,新建配置檔案tnsnames.ora,內容: 172.16.210.40 =   (DESCRIPTION =  

PLSQL Developer連線遠端資料庫方式

作者:Frank_bettterMan  來源:CSDN  原文地址:https://blog.csdn.net/xintonghanchuang/article/details/60869189    1.直接通過IP連線:  &nbs

sqlplus連線遠端資料庫

轉自:https://blog.csdn.net/wildin/article/details/5850252   方式一:簡易連線,不用進行網路配置,其實就是tnsname.ora檔案,但只支援oracle10G以上。 命令:sqlplus 使用者名稱/密碼@ip地址[:埠]/s

Intellij idea中連線遠端資料庫出現亂碼問題的解決

專案連線遠端資料庫時在遠端資料庫的本地測試不出現亂碼,但是其他人連線遠端資料庫出現亂碼。可能是自己Tomcat的配置檔案沒有解決中文的問題。 解決方法: 第一:在server.xml中的每個埠下加上: URIEncoding="UTF-8",如:<Connector port="808

連線遠端資料庫錯誤2003---IP(0) 的解決辦法

STEP 1. 進入mysql mysql -uroot -p 選擇mysql資料庫 use mysql; 授權遠端使用者登入 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root使用者密碼' WI

連線遠端資料庫出現ora-12514,監聽程式無法識別你所請求的服務

oracle想要連線遠端資料庫,需要配置檔案,在tnsnames.ora中進行配置,目錄在network/admin下: ora =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(H

mysql無法連線遠端資料庫(ERROR 2013:Lost connection to MySQL server)

ERROR 2013 (HY000) Lost connection to MySQL server at ‘reading authorization packet’ 重啟mysql不行就重啟Windows伺服器!!!!!! 重啟mysql不行就重啟Windows伺服器!!!!

在本地用 Navicat 連線遠端資料庫報錯:Can't connect to MySQL server on 。。。

在騰訊雲新買了一臺伺服器,環境都安裝好了,在本地用 Navicat 連線資料庫,就是連線不上,一直報錯Can’t connect to MySQL server on 。。。搞了三四個小時,終於搞定,分享一下過程。 一、檢查使用者授權 1.進入ubuntu

PHP Mongodb 連線遠端資料庫

WINDOWS 下裝mongodb 先去官網下載  :https://www.mongodb.com/download-center#atlas 1、在mongodb的資料夾下建立 data、logs 資料夾 和mongo.conf 命令列命令!  D:\mongodb

本機不安裝Oracle客戶端就可使用PL/SQL Developer連線遠端資料庫

1,專案使用的是oracle11g資料庫,安裝個客戶端訪問伺服器. 到oracle官方下載: http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/htdocs/winsoft.html (中文) http:

Django連線Oracle資料庫配置

Django專案中,settings.py檔案中: service_name   DATABASES = {     'default': {       'ENGINE': 'django.db.backends.oracle',       'NAME': 'IP:埠號/service_name',   

Java程式通過JDBC連線遠端資料庫MySQL

程式碼如下: import java.sql.*; public class jdbc { @SuppressWarnings("unused") public static void main

免安裝oracle客戶端,直接配置plsql連線遠端資料庫

由於oracle客戶端太大,安裝麻煩,特在此處提供免安裝oracle客戶端,直接用plsql連線遠端資料庫的方法。 一、自己本地安裝plsql工具(自己下載安裝即可,此處不多說) 二、下載instan

配置客戶端連線遠端資料庫(oracle)

在使用者輸入sqlplus system/[email protected]後,sqlplus程式會自動到sqlnet.ora檔案中找NAMES.DEFAULT_DOMAIN引數,假如該引數存在,則將該引數中的值取出,加到網路服務名的後面,即此例中你的輸入由sqlplus system/[email