luffy数据库的创建



一、创建数据库

  • 新建一个luffy数据库

    # 1.管理员连接数据库
    mysql -uroot -p密码
    
    # 2.创建数据库
    create database luffy default charset=utf8;
     
  1. 可以使用图形化工具Navicat创建,鼠标点点即可

  2. 可以使用命令行创建

进入到该数据库查看数据库用户

# 使用luffy数据库use luffy# 查看用户select user,host,password from mysql.user;# 5.7之上的的版本查看命令 (提示: 5.7之后password字段变成了authentication_string字段)select user,host,authentication_string from mysql.user;

luffy数据库的创建

二、创建用户,授予权限

注意:基于root用户进行的操作

创建luffy用户,授予luffy库所有权限

# 设置权限账号密码# 授权账号命令:grant 权限(create, update) on 库.表 to '账号'@'host' identified by '密码'# 1.配置任意ip都可以连入数据库的账户 (提示:%表示任意的地址都可以远程链接)grant all privileges on luffyapi.* to 'luffyapi'@'%' identified by 'Luffy123?';

# 2.由于数据库版本的问题,可能本地还连接不上,就给本地用户单独配置
grant all privileges on luffyapi.* to 'luffyapi'@'localhost' identified by 'Luffy123?';# 3.刷新一下权限。 (提示: 如果不刷新,只会在下次登录时生效。)flush privileges;# 只能操作luffy数据库的账户账号:luffyapi
密码:Luffy123?

三、在Django项目中配置

1.在 setting.py (dev.py)中配置

# 1.安装配置数据库mysqlDATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'luffy',
        'USER': 'luffy',
        'PASSWORD': 'Luffy123?',
        'HOST': 'localhost',
        'PORT': 3306,
        'CHARSET': 'utf8',
    }}# 2.安装pymysql,或者是mysqlclient
	-运气好:一把装好就用mysqlclient   		-pip3 install mysqlclient   	-或者使用pymysql(django版本超过2.0.7,需要改源码)    	-使用pymysql不要忘了在配置文件中加入        import pymysql
		pymysql.install_as_MySQLdb()

问题:如果项目上线后代码泄露,数据库密码很容易泄露,安全性不高,所以,一般我们PASSWORD密码不因该存放到pro.py或者dev.py配置文件中。 因此存放到服务器中, 通过环境变量的获取存放。

2.通过服务器环境变量来存放/获取密码

luffy数据库的创建

password = os.getenv('mysql_password','Luffy12333')  # 或者下面语句# password = os.environ.get('MYSQL_PASSWORD','Luffy12333'))DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'luffy',
        'USER': 'luffy',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': 3306
    }}import pymysql
pymysql.install_as_MySQLdb()

  • Windows配置完环境变量需要重启电脑,否则启动项目报错

  • Linux重新加载配置文件即可

# 方式一:source /etc/profile# 方式二:. /etc/profile

使用pymysql 版本问题出现的报错信息 :

使用pymysql时, Django版本超过 2.0.7 的时候就会出现这种错误

luffy数据库的创建

luffy数据库的创建

# 修改前query = query.decode(errors='replace')# 修改后query = query.encode(errors='replace')

修改后启动成功

PS: 如果不想使用pymysql,可以直接安装mysqlclient

pip install mysqlclient# mysqlclient 比较难装, 运气好一次可以装好, 是在不行不要强求
上一篇:HDU 2473 Junk-Mail Filter(并查集的删除操作)


下一篇:web-uwsgi