今天更新django中的表字段,由于mysql从5.1升级到5.7。以前的外键关联必须从MYISAM改新为INNODB才可以继续。

过程有点刺激,但还好,只要想清楚了过程,提前作好备份,就没啥大问题。

一,django里的mysql配置:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'PDB',

'USER': 'user',

'PASSWORD': 'xxxx',

'HOST': '1.2.3.4',

'PORT': '3306',

'OPTIONS': {"init_command": "SET default_storage_engine=INNODB;"},

},

}

二,查看现在库里表的存储引擎

SELECT table_name, table_type, engine FROM information_schema.tables

WHERE table_schema = 'xxxxDB' ORDER BY table_name DESC;

三,生成更改所有数据表引擎的mysql语句

SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;' )

FROM information_schema.tables

WHERE table_schema = 'xxxxDB';

四,将这些语句放到mysql里执行一次

...

ALTER TABLE A ENGINE=InnoDB;

ALTER TABLE B ENGINE=InnoDB;

ALTER TABLE C ENGINE=InnoDB;

ALTER TABLE H ENGINE=InnoDB;

ALTER TABLE D ENGINE=InnoDB;

ALTER TABLE E ENGINE=InnoDB;

...

五,在my.cnf里将默认引擎设置为innodb,然后,使用show engine,即可看到mysql的默认存储引擎了。

show engine

六,有了以上操作之后,在django里使用makemigrations,migrate命令,就没啥问题了。如果上面步骤没操作出问题,记得先复原数据库,再操作。

标签:ENGINE,INNODB,MyISAM,mysql,InnoDB,TABLE,table,ALTER

来源: https://www.cnblogs.com/aguncn/p/11084088.html

mysql 改myisam_将mysql从MyISAM更改为INNODB相关推荐

  1. mysql从myisam_将MySQL从MyISAM转换成InnoDB错误和解决办法

    原来自己用的是为了装的, 所以在设置database usage(如下图1)的时候按照discuz官方的建议,选的都是Non-Transactional Database Only(只支持MyISAM ...

  2. mysql改utf8mb4后速度慢_更改MySQL数据库的编码为utf8mb4

    更改MySQL数据库的编码为utf8mb4 utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符. 采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑微信昵称 ...

  3. ubuntu mysql 改密码_ubuntu——mysql的安装(1)

    介绍:MySQL 是一种开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP /Python/ Perl)堆栈的一部分安装.它使用关系数据库和SQL(结构化查询语言 ...

  4. mysql 修改单表导入大小_MySQL更改大库大表存储引擎方案

    一. 概述 检查库中myisam的表, sql如下: SELECT * FROM `tables` WHERE table_schema = 'UAR_STATISTIC' AND ENGINE = ...

  5. 10067mysql_MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)

    <MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)>要点: 本文介绍了MYSQL数据库mysql Non-Transacti ...

  6. ip变更 mysql无法启动_ubuntu mysql 更改IP导致mysql无法启动

    bind-address = 127.0.0.1 => bind-address= 136.129.20.168 IP要这么改 这么改远程连不上,那么需要把这行整行注释掉,重启MYSQL,tel ...

  7. windows进入mysql改user_mysql:Windows修改MySQL数据库密码(修改或忘记密码)

    今天练习远程访问数据库时,为了方便访问,就想着把数据库密码改为统一的,以后我们也会经常遇到MySQL需要修改密码的情况,比如密码太简单.忘记密码等等.在这里我就借鉴其他人的方法总结几种修改MySQL密 ...

  8. 阿里云mysql目录_mysql数据库目录存放位置更改-阿里云开发者社区

    mysql Oracle官方下载 类型特多 看起来很让人头痛  我们选择 Download MySQL Community Server 在这个下载网站 选择平台是ORACL& RED HAT ...

  9. mysql密码一般设置什么格式_mysql更改密码_如何更改mysql root用户密码

    windows平台下如何修改mysql数据库密码 1.关闭正在运行的MySQL服务:net stop mysql或 在windows 任务管理器中结束 mysqld.exe 进程或在 管理工具里面的服 ...

最新文章

  1. 如何Docker化任意一个应用
  2. RabbitMQ 的引言
  3. 成功解决ImportError: cannot import name ‘Imputer‘
  4. centos7开放端口
  5. c++ 9.程序流程结构
  6. winshark重要数据结构
  7. 个人成长中,关于规划设计的思考
  8. 括号匹配问题(C++、堆栈)
  9. 洛谷P5269 欧稳欧再次学车
  10. 利用反射生成SQL语句
  11. Linux学习笔记(10)
  12. 为ASP.NET封装的SQL数据库访问类(转)
  13. ​富士通代理4KBit I2C铁电存储器MB85RC04V
  14. Adobe flash player10安装失败的解决方法
  15. Deep Retinex Decomposition for Low-LightEnhancement (2018 BMCV,含代码)
  16. 使用CamlBuilder生成CAML查询语句
  17. TL-WR720N路由器Android安卓不能连接外网问题解决
  18. Qt焦点事件 setFocusPolicy
  19. 辽宁省二本计算机学校有哪些,辽宁省二本大学都有哪些
  20. adb remount 失败

热门文章

  1. Web前端总结(一)
  2. ubuntu安装vtk
  3. 阅面科技赵京雷:人工智能时代,智能机器需要怎样的眼睛?
  4. 支付宝真的会上传用户的照片和录音吗?
  5. 一起学Netty(十一)之 Netty心跳之IdleStateHandler
  6. 2021五款高人气真无线蓝牙耳机测评,价格不同性能真的差很多吗?
  7. php childnodes,如何将childNodes返回的数据转化维数组
  8. Linux/Ubuntu/SentOS系统安装oh-my-zsh
  9. 树莓派+python:音乐播放与控制功能
  10. 基于单片机的智能路灯控制系统人体感应灯光控制系统的设计与实现