博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MYSQL查看和修改存储引擎
阅读量:7188 次
发布时间:2019-06-29

本文共 1253 字,大约阅读时间需要 4 分钟。

最近,公司的BBS压力越来越大,表死锁越来越严重。

在其它优化同作的情况下,MYISAM引擎转为INNODB引擎也纳入计划当中。

参考URL如下:简单,但要注意备份。。。

============

http://www.linuxidc.com/Linux/2012-10/72884.htm

http://jfbcb.com/article/detail/change-the-mysql-table-storage-engine/

============

 

MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。

1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。

ALTER 
TABLE 
my_table ENGINE=InnoDB

2.导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump ,枫哥常用的是navicate那样更容易上手。友情提醒风险较大。

3.创建,插入。这个比第一种速度快, 安全性比第二种高,推荐。分2步操作

   a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎。    

CREATE 
TABLE 
my_tmp_table 
LIKE 
my_table;
ALTER 
TABLE 
my_tmp_table ENGINE=InnoDB;

  b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。

INSERT INTO my_tmp_table SELECT FROM my_table

就到这里,希望对需要的同学有帮助。

=====================

1 查看系统支持的存储引擎

show engines;

2 查看表使用的存储引擎

两种方法:

a、show table status from db_name where name='table_name';

b、show create table table_name;

如果显示的格式不好看,可以用\g代替行尾分号

有人说用第二种方法不准确,我试了下,关闭掉原先默认的Innodb引擎后根本无法执行show create table table_name指令,因为之前建的是Innodb表,关掉后默认用MyISAM引擎,导致Innodb表数据无法被正确读取。

3 修改表引擎方法

alter table table_name engine=innodb;

4 关闭Innodb引擎方法

关闭mysql服务: net stop mysql

找到mysql安装目录下的my.ini文件:

找到default-storage-engine=INNODB 改为default-storage-engine=MYISAM

找到#skip-innodb 改为skip-innodb

启动mysql服务:net start mysql

转载地址:http://jkikm.baihongyu.com/

你可能感兴趣的文章
mac下安装配置maven的问题小记
查看>>
深入探讨依赖注入
查看>>
[cpp]常用程序模块
查看>>
解決 Universal 架構的 CSS Modules 問題
查看>>
Ugly Number
查看>>
TSMessages,非HUD风格的iOS提示框(附官方demo BUG修复方案)
查看>>
微信app支付
查看>>
C++基础——类继承中方法重载
查看>>
Python对于CSV文件的读取与写入
查看>>
解决MaxCompute SQL count distinct多个字段的方法
查看>>
python设计模式(十六):命令模式
查看>>
线程和进程到底是什么?大概就是下面这些了额 ...
查看>>
Linux命令集合
查看>>
蚂蚁金服分布式事务开源以及实践 | SOFA 开源一周年献礼 ...
查看>>
Nginx之10灵犀一指 - (访问认证)
查看>>
物联网要点深入浅出
查看>>
Python之父重回决策层,社区未来如何发展?
查看>>
在线教你开发直播软件app时需要掌握的小知识
查看>>
Spring 面试问题 TOP 50
查看>>
(TPC-H测试 SF=10,SF=200) PostgreSQL 11 vs 10 vs Deepgreen
查看>>