当前位置:首页 > 计算机科学 > 网络技术 > 正文内容

Mysql 修改实例数据库下的所有表引擎

fanglong2020-08-09网络技术1068

1. 修改单个表

mysql> ALTER TABLE TABLENAME ENGINE=InnoDB

2. 修改多表

mysql>select CONCAT('alter table ',table_name,' engine=InnoDB;') FROM information_schema.tables WHERE table_schema="DBNAME" AND ENGINE="MyISAM"

or

mysql>SELECT CONCAT( 'ALTER TABLE ',TABLE_NAME,'ENGINE=InnoDB;') FROM information_schema.tables WHERE table_schema = 'DBNAME' LIMIT 0 , 10000


语句说明:

1. 将以上SQL语句中的 TABLENAME替换成相应表名称,DBNAME 替换成需要修改的数据库名称。


2. 执行多表修改SQL语句时,这个时候还没有修改,只是给了一个查询结果。需将查询结果复制,去掉前后的引号,然后执行。


3.本例是修改为InnoDB,引擎支持版本使用show engines查询.


扩展阅读

mysql的存储引擎包括:MyISAM、InnoDB、BDB、Heap(Memory)、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。

最常使用的2种存储引擎:

㈠.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。

㈡.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。


1.如何查看MySQL的当前存储引擎?

一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:

 

2.看你的mysql现在支持和能使用什么存储引擎,显示引擎支持状态,字段 Support为:Default表示默认存储引擎  :

mysql> show engines

 

3.看你的mysql当前默认的存储引擎:

mysql> show variables like '%storage_engine%'

  

4.如何查看Mysql服务器上的版本

mysql>  select version()

 

5.修改mysql的默认存储引擎为InnoDB

在配置文件my.cnf中的 [mysqld] 下面没有加入或有就修改

default-storage-engine=INNODB 一句

 


6.查看那个表使用的存储引擎

两种方法:

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

b、mysql> show create table table_name;

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

在显示结果里参数engine后面的就表示该表当前用的存储引擎

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



7.修改表引擎方法

mysql>  alter table table_name engine=innodb;


8.修改Innodb引擎为其他的方法

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

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

找到#skip-innodb 改为skip-innodb


9.重启mysql服务器(具体系统重启命令有所差异):

mysqladmin -u root -p shutdown

或者service mysqld restart 登录mysql数据库 


扫描二维码推送至手机访问。

版权声明:本文由人从众的博客发布,如需转载请注明出处。

本文链接:http://loulin.bid/18.html

分享给朋友:

相关文章

php 编译安装插件提示PHP Warning: PHP Startup: Unable to load dynamic library 报错

又或如: cannot open shared object file: No such file or directory in Unknown on line 0 PHP message...

realtek 瑞昱r8168千兆网卡芯片编译安装驱动及解决出现问题

realtek 瑞昱r8168千兆网卡芯片编译安装驱动及解决出现问题

销售名称可以是:RTL8111e/8168B/8411 PCI EXPRESS 等等芯片基本上千兆的芯片都是的,说白了就是"换汤不换药".首先下载驱动地址:官方(选择linux r...

优化 CentOS 7,减少无用的写入动作延长 SSD 使用寿命

 禁用文件最后访问时间编辑 /etc/fstab 文件,为其中所有 xfs 的分区添加挂载参数。将类似以下的配置......    xfs  ...

centos7安装BBR后开启cake队列教程

centos7安装BBR后开启cake队列教程

开启cakevi /etc/sysctl.conf 增加或修改为: net.core.default_qdisc = cake判断是否开启caketc -s qdisc show下图说明ca...

评论列表

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。