吴先生不爱吃辣

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

 

posted on 2020-04-08 10:50  吴先生不爱吃辣  阅读(165)  评论(0编辑  收藏  举报