点击https://dev.mysql.com/downloads/mysql/下载MySQL安装包,我用的是8.0.18的包。
把下载的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
把d:/mysql-8.0.18-winx64/bin路径加入到环境变量中
始化数据库: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
在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
原文:https://www.cnblogs.com/wuzhibinsuib/p/12658479.html