1. 程式人生 > >如何在阿里雲上部署django網站(2)——使用MySQL資料庫

如何在阿里雲上部署django網站(2)——使用MySQL資料庫

如果要在阿里雲上部署django網站,建議不要使用django自帶的sqlite,雖然一時省事,但帶來了很多其他的麻煩。建議使用MySQL或者PostgreSQL。由於MySQL比較流行,我就選擇了MySQL。

安裝MySQL

在使用MySQL之前,首先需要安裝。在ubuntu系統下,輸入以下命令:

sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev

安裝過程中會提示設定密碼,安裝完成之後可以使用如下命令來檢查是否安裝成功:

sudo netstat -tap | grep mysql

通過上述命令檢查之後,如果看到有mysql 的socket處於 listen 狀態則表示安裝成功。
登陸mysql資料庫可以通過如下命令:

mysql -u root -p

-u 表示選擇登陸的使用者名稱, -p 表示登陸的使用者密碼,上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登入到MySQL。
隨後新建database,在命令列中輸入:

create database database_name;

就完成了名為database_name的資料庫的建立。

讓MySQL支援python

mysql是支援python3的(備註:目前,mysqldb尚不支援python3.x,只支援python2.x。若使用python2.x,建議安裝mysqldb)。如果不安裝python3的mysql庫,則會報錯。安裝mysql庫的方法為:

sudo apt-get install python3-pymysql

修改django中database的設定

最初新建django網站時,資料庫預設採用的是sqlite,在setting.py檔案中,相關語句為:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

將以上語句替代為:

DATABASES = {
    'default'
: { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'data_base_name', 'USER':'user_name', 'PASSWORD':'password', 'HOST':'127.0.0.1', 'PORT':3306, } }

注意此處的PORT,需要設定為3306,否則有可能會報錯。

重新設定完資料庫後,在manage.py所在的目錄下,使用命令終端輸入:

python3 manage.py migrate

完成後,再輸入:

python3 manage.py runserver 8000

就將sqlite資料庫更改為MySQL資料庫了。