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

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

fanglong2020-08-09网络技术1304

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数据库 


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

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

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

分享给朋友:

相关文章

nginx与php-fpm通信的两种方式

在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。...

yum命令高级使用方式本地下载安装包和依赖和无网络安装

(1)使用yum只下载至本地指定位置 $ yum install --downloadonly --downloaddir=/home/packetName packetName...

一键搭建WEB环境脚本推荐

windows平台用作服务器站长已经不常使用(授权,效率)了,但是还是推荐一下.phpstudy  https://www.xp.cn/ phpts   htt...

如何查看已经安装的nginx、apache、mysql和php的编译参数

1、nginx编译参数:$ nginx -V#注意:需保证nginx在环境变量中,或者使用绝对路径的形式:your_nginx_dir/sbin/nginx -V2、apache编...

评论列表

发表评论

访客

看不清,换一张

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