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