在django中使用mysql作为数据库backend(Ubuntu系统)

关于mysql

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

另外,博主后续也会继续学习MySQL的知识,所以现在就先以MySQL为数据库来使用吧!

1. 安装MySQL(基于Ubuntu)
sudo apt-get install mysql-server mysql-client

试运行MySQL:

#这之后要输入在安装时设置的密码
mysql -u root -p

2. 创建一个新数据库及新用户

数据库名为database_name,用户名为user_name,密码为user_password

CREATE DATABASE database_name CHARACTER SET utf8;
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'user_password';
GRANT ALL ON database_name.* TO 'user_name'@'localhost';
#查看所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
#查看所有库
SHOW DATABASES;

当然你也可以如下删库、删户,然后跑路

DROP USER 'user_name'@'localhost';
DROP DATABASE IF EXISTS database_name;
3. 安装MySQL-python

MySQL-python是python中一个用来链接和管理mysql数据库的软件包,它为数据库应用编程提供了好用的接口。django依赖它来操作mysql数据库。

sudo apt-get install python3-dev
pip install mysqlclient

验证是否安装成功,在python中:

>>> import MySQLdb

>>> db = MySQLdb.connect("localhost", "user_name", "user_password", "database_name")
>>> cursor = db.cursor()
>>> cursor.execute("SELECT VERSION()")
1
>>> print(data)
('5.7.23-0ubuntu0.16.04.1',)
>>> db.close()

如果有出现类似上述相应,则说明安装成功 ,接下来便来到最后一步。

4. 配置django的settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database_name',  # 数据库名
        'USER': 'user_name',  # 数据库账户名
        'PASSWORD': os.environ['MY_DB_PASS'],  # 即user_password,数据库密码。
        # 为安全起见,应从系统环境变量中获取。os.environ['MY_DB_PASS']
        'HOST': '127.0.0.1',  # 数据库服务器IP
        'PORT': '3306',  # 端口
    }
}

接下来运行

python manage.py makemigrations	# 生成迁移文件,有点prompt的感觉,可以在最终操作前check一下
python manage.py migrate	#执行迁移

至此,mysql数据库的配置就完成啦。
你可以再次查看数据库,此时数据库不为空,因为django已经生成了一些tables在里边了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值