环境:(ubuntu 16.04 virtualenv python3.5.2,django2.0)
一、MySQL安装
panda@ubuntu64:~sudo apt-get install mysql-server
panda@ubuntu64:~sudo apt-get install mysql-client
panda@ubuntu64:~mysql -u root -p #输入密码进入
mysql> show databases; #查看已有数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.17 sec)
mysql> create database django; # 为项目创建一个数据库做好准备
Query OK, 1 row affected (0.04 sec)
mysql> show databases; # 查看数据库,发现已经创建好名字为django的数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| django |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
(env352) padna@GE60:~/env352/project$ pip3 install django #django2不支持python2.x了,pip 默认下载不支持python3版本,所以用pip3下载
(env352) panda@ubuntu64:~/env352/project$ django-admin.py startproject mysite # 创建django项目
(env352) panda@ubuntu64:~/env352/project/mysite$ python manage.py runserver # 启动运行项目并成功
二、配置django-setting.py 的数据库
(一) 修改数据库设置
三 、报错解决及环境依赖安装
panda@ubuntu64:~/env352$ source bin/activate #进入虚拟环境安装对应的mysql环境依赖包
(env352) panda@ubuntu64:~/env352$ sudo apt-get install libmysqld-dev #在虚拟环境下安装
(env352) panda@ubuntu64:~/env352/project/mysite$ python manage.py runserver # 报错,下面贴图片
(env352) panda@ubuntu64:~/env352/project/mysite$ pip install mysqlclient # python3.x不再是mysql-python 是mysqlclient!!!!很重要的知识点,不然一直报错,windons也是亲测mysqlclient有效!!
(env352) panda@ubuntu64:~/env352/project/mysite$ python manage.py runserver # 报错缺少gcc等环境
(env352) panda@ubuntu64:~/env352/project/mysite$ sudo apt-get install python3-dev #一定要是python3-devel,因为我是python3.2.5版本
(env352) panda@ubuntu64:~/env352/project/mysite$ python manage.py runserver # 但是数据没有迁移,项目自带的数据文件还没有迁移到mysql下的django
mysql> use django;
Database changed
mysql> show tables;
Empty set (0.00 sec) # (在这里看到数据库django里面还什么都没有)
(env352) panda@ubuntu64:~/env352/project/mysite$ python manage.py migrate #数据库迁移
mysql> show tables;
+----------------------------+
| Tables_in_django |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+----------------------------+
10 rows in set (0.00 sec) # (至此mysql-django配置完成)
四、 步骤简化总结(按顺序下载)
sudo apt-get install mysql-server # 安装mysql服务器
sudo apt-get install mysql-client #安装mysql客户机
mysql> create database django; #创建数据库
# 修改setting.py 下的DATABSASE
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 1 把sqlite3改为mysql
'NAME': 'django', # 2 数据库中创建的输数据库名字
'USER': 'root', # 3 我的用户名
'PASSWORD': 'root', # 4 我的密码
'HOST': '', # 5 在本地可以不填,或者127.0.0.1
'PORT': '', # 6本地可以不填
}
}
(env352)sudo apt-get install libmysqld-dev
(env352)sudo apt-get install python3-dev #一定要是python3-devel,因为我是python3.2.5版本
(env352)pip install mysqlclient
(env352)python manage.py migrate #数据库迁移