MYSQL查看和修改存储引擎

最近,公司的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值