• windowMySQL及Linux上django环境的配置工作


    1,windows环境上安装MySQL

    1,下载MySQL安装包

    点击https://dev.mysql.com/downloads/mysql/下载MySQL安装包,我用的是8.0.18的包。

    2,配置MySQL

    把下载的MySQL安装包在D盘中解压,创建一个data文件用来存放数据库数据的,并创建一个my.ini的配置文件,文件的配置如下:

    [mysqld]
    # 设置mysql的安装目录
    basedir=d:/mysql-8.0.18-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=d:/mysql-8.0.18-winx64/data
    # 设置默认使用的端口
    port=3306
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人试图攻击数据库
    max_connect_errors=10
    # 服务端使用的字符集
    character-set-server=utf8mb4
    # 数据库字符集对应一些排序等规则使用的字符集
    collation-server=utf8mb4_general_ci
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件作为认证加密方式
    # MySQL8.0默认认证加密方式为caching_sha2_password
    default_authentication_plugin=mysql_native_password
    
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
    
    [client]
    default-character-set=utf8mb4
    port=3306

    3,把MySQL添加到环境变量中

    把d:/mysql-8.0.18-winx64/bin路径加入到环境变量中

     4,初始化数据库,并设置密码

    始化数据库:mysqld --initialize-insecure --user=mysql --console
    安装服务:mysqld -- install 
    此时可以看服务中mysql的服务是否有启动
    操作MySQL服务的命令:
      
    启动服务:net start mysql
      停止服务:net stop mysql 
      移除服务:mysqld -remove
           sc delete mysql

    如果服务起来了

    使用命令mysql -u root -p
    登入MySQL,默认登入是密码是空的,此时需要我们修改密码
    1.直接使用命令修改密码 alter user 'root'@'localhost' identified by 'root'
    2. 先使用:use mysql;
        增加密码:update user set authentication_string=password("root") where user="root";
        刷新权限:flush privileges;
    之后使用mysql -u root -p 登入需要密码说明修改成功

    这个账号和密码相当于管理员,所有的数据库都能访问,这样就会不安全,所以需要设置单独数据库的账户和密码。

    创建新的用户:create user 'zbwu103'@'localhost' identified by 'Aa112423';
    给用户数据库权限:grant all privileges on  mysite_db.* to 'zbwu103'@'localhost';
    刷新权限:flush privileges

    2,在Ubuntu中安装配置django环境

    安装的是16.04.4版的Ubuntu系统,配置好网络之后使用ssh连接Ubuntu系统。

    安装好系统之后ssh服务一般没有安装的

    查看是否安装:ps -e|grep ssh 
    安装命令:
                sudo apt-get update
                sudo apt-get install openssh-server
    查看ssh是否开启:
               sudo service ssh status 
     开启:  sudo service ssh start 

    1,配置Python

    安装python3.6

    apt-get update
    apt-get install software-properties-common
    add-apt-repository ppa:deadsnakes/ppa
    apt-get update
    apt-get install python3.6

    创建软链接

    Python -V  #查看Python的版本
    which python #查看Python的路径
    cd /usr/bin
    rm python
    ln -s python3.6 python
    rm python3
    ln -s python3.6 python3

    安装pip3.6

    pip3 -V 查看pip的版本
    apt-get install python3-pip pip3 install --upgrade pip

    安装虚拟环境

    pip3 install virtualenv
    
    virtualenv -p /usr/bin/python3.6 mysite_env
    source mysite_env/bin/activate
    deactivate

    安装git

    apt-get install git

    2,配置MySQL

     下载apt进行安装,在Ubuntu中直接使用命令下载

    wget  https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb
    安装:
    dpkg -i    mysql-apt-config_0.8.14-1_all.deb
    apt-get update
    apt-get install mysql-serve

    登入 mysql -u root -p 输入密码能成功登入的话就Ok了

    Python连接MySQL数据库必须安装mysqlclient,而mysqlclient依赖其他的几个库

    安装libmysqlclient-dev
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/libmysqlclient-dev_8.0.18-1ubuntu16.04_amd64.deb
    apt-get install libmysqlclient21 
    apt-get -f install
    dpkg -i libmysqlclient-dev_8.0.18-1ubuntu16.04_amd64.deb 
    apt-get update 
    安装其他的依赖包
    
    apt-get install libmysqlclient-dev
    apt-get install python3.6-dev
    apt-get install openssl
    apt-get install libssl-dev
    pip install mysqlclient
    
    pip list 出现mysqlclient 是成功

    3,SQLite数据和MySQL的数据倒换

    在django中默认使用的是sqlite数据库,后续开发需要把数据迁移到MySQL中

    1,先在django的setting中使用sqlite数据库

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

    在cmd中输入:

    python manage.py dumpdata > data.json

    把sqlite数据的数据保存到data.json中了。

    2,之后在django项目中的setting中替换成MySQL数据库

     如果没有安装mysqlclient的需要安装可以使用命令安装:

    pip install mysqlclient

    或者下载whl包直接安装,whl包链接

    pip install 文件名
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '你的数据库名',
            'USER': '你的MySQL用户名',
            'PASSWORD': '你的密码',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }

    然后在cmd中输入:

    python manage.py loaddata data.json

    如果你的MySQL表是空的正常是能导进去的,但是之前如果有数据而且字段冲突的话,需要删除冲突的字段

    use 你的数据库名;
    delete from 冲突的表;

    删除之后,在重新导入

    3,加载时区表

    安装的MySQL数据没有安装时区表的,window上和Ubuntu中的安装方法不是一致的

      1,windows上需要先下载一个sql文件:timezone_2018e_posix_sql.zip

      解压之后之家在cmd中使用命令:

    mysql -u root -p mysql < timezone_posix.sql

      2,Ubuntu

    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
    人生苦短,我用cnblog
  • 相关阅读:
    python实现kNN(最近邻)
    拉格朗日对偶
    拉格朗日乘子法和KKT约束
    python实现支持向量机之具体实现
    python实现支持向量机之非线性支持向量机和核函数(理论五)
    Python 装饰器实例
    Linux 系统下 matplotlib 中文乱码解决办法
    Python logging 模块学习
    Matplotlib 知识点整理
    Python Matplotlib 中文显示参数设置
  • 原文地址:https://www.cnblogs.com/wuzhibinsuib/p/12658479.html
Copyright © 2020-2023  润新知