MYSQL数据库升级

MYSQL数据库升级

1 背景:

在使用gdjango中的orm创建表时,出现了1604错误

命令:python manage.py makemigrations
命令:python manage.py migrate
查询之后发现有可能是版本问题导致,
python 3.8
django 3.1.5
mysql 5.5.15

我决定将mysql5.5升级为5.7

2 开始
2.0备份旧数据库

备份系统中所有数据库

在cmd中 mysqldump -u root -h host -p --all-databases > backdb.sql

-->>更多

2.1下载mysql5.7

--->>下载地址

2.2卸载旧版本5.5

1在控制面板中卸载

2删除注册表

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹

3删除mysql安装目录

4删除C盘下的C:\ProgramData\MySQL 所有文件

5删除C:\Documents and Settings\All Users\Application Data\MySQL下的文件夹

6重启

2.3安装5.7版本

1 cmd进入安装目录

cd D:\Program Files (x86)\MySQL

2 解压后的文件中添加设置配置文件my.ini

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files (x86)\MySQL
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\Program Files (x86)\MySQL\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

  

3 初始化数据库:

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin 
mysqld --initialize-insecure 

初始化后再运行 net start mysql 即可启动 mysql。

4 登录mysql

mysql -h 主机名 -u 用户名 -p

5 利用SQLyog登录和恢复数据

3 成功
(venv) D:\GitHub\Code\mysite>python manage.py makemigrations
No changes detected

(venv) D:\GitHub\Code\mysite>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, app01, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying app01.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

(venv) D:\GitHub\Code\mysite>
4 参考文章

1 https://www.runoob.com/mysql/mysql-install.html 菜鸟教程-MySQL 安装

2 https://blog.csdn.net/weixin_41792162/article/details/89921559 干净卸载mysql

3 https://www.cnblogs.com/wbl001/p/11314887.html mysql升级

4 https://www.cnblogs.com/yourblog/archive/2019/02/15/10381962.html mysql数据库备份

posted @ 2021-02-20 20:05  亚斯娜  阅读(223)  评论(0)    收藏  举报