-
2016-03-18 10:41:44要做一名合格的程序员,除了把代码写的漂亮外,熟知数据库方面的知识也是不可或缺的,下面总结一下如何查看和修改MySQL数据库表存储引擎:
1、查看数据库所能支持的存储引擎:show engines;
2、查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';(注:将where条件去掉后可以查看某个数据库中所有表的存储引擎情况)
3、修改表引擎方法:alter table table_name engine=innodb;
4、关闭Innodb引擎方法:通过“net stop mysql”命令关闭mysql服务;找到mysql安装目录下的my.ini文件,将里面default-storage-engine=INNODB改为default-storage-engine=MYISAM,将#skip-innodb改为skip-innodb;最后通过“net start mysql”命令启动mysql服务。更多相关内容 -
MySQL修改数据表存储引擎的3种方法介绍
2020-12-15 03:44:52今天要说的就是表存储引擎的修改。有三种方式,列表如下。 1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。 代码如下:ALTER TABLE my_table ENGINE=... -
MySQL修改默认存储引擎的实现方法
2020-12-16 07:29:11mysql存储引擎: MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的API,MySQL服务器能够与存储引擎进行通信。目前使用最多... -
MySQL中修改数据表存储引擎的三种方法
2021-02-07 12:04:53第一种方法:ALTER TABLE将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性。例:将mytable的引擎修改为InnoDBmysql> ALTER TABLE mytable ...第一种方法:ALTER TABLE
将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性。
例:将mytable的引擎修改为InnoDB
mysql> ALTER TABLE mytable ENGINE = InnoDB;
上述方法适用任何的存储引擎,但执行时间较长。MySQL会按行将数据从原表复制到一张新表中,在复制过程中会消耗系统所有的I/O能力,同时会对原表加上读锁。如果在繁忙的表上执行此操作需要特别小心。
第二种方法:导出和导入数据
使用mysqldump工具将数据导出到文件,然后修改文件中CREATE TABLE语句的存储引擎选项和表名,同时注意mysqldump默认会自动加上CREATE TABLE语句前加上DROPTABLE语句,若忽略此点可能会导致数据丢失。
第三种方法:创建与查询(CREATE 和 SELECT)
此方法综合了上述两种方法的高效和安全,不需要导出整个表,而是先创建一个新的存储引擎的表,然后利用 INSERT ... SELECT语法导入数据。
mysql > CREATE TABLE innodb_table LIKE myisam_table;
mysql > ALTER TABLE innodb_table ENGINE=InnoDB;
mysql > INSERT INTO innodb_table SELECT * FROM myisam_table;
如果数据量大,可考虑分批处理,针对每一段数据执行事务提交操作,以免大事务产生过多的undo。
假设有主键字段id,可重复运行以下语句将数据导入新表:
mysql > START TRANSACTION;
mysql > INSERT INTO innodb_table SELECT * FROM myisam_table
-> WHERE id BETWEEN x AND y;
mysql > COMMIT;
以上操作完成后,新表是原表的一个全量复制,原表不受任何影响。如果有必要,可以在执行中对原表加锁,确保新表与原表的数据一致。
persona Toolkit提供了一个pt-online-schema-change的工具,可以简单方便地执行上述的过程,避免手工操作可能导致的失误。
-
MYSQL修改所有表的存储引擎格式语句
2020-12-15 19:17:34代码如下: SELECT GROUP_CONCAT(CONCAT( ‘ALTER TABLE ‘ ,TABLE_NAME ,’ ENGINE=ARCHIVE;... 您可能感兴趣的文章:Mysql更改默认引擎为Innodb的步骤方法MySQL修改数据表存储引擎的3种方法介绍MySQL存储引擎总结如何 -
修改Mysql表存储引擎的三种方法
2018-09-18 14:21:14通过命令直接修改表的存储引擎 alter table mytest ENGINE = MyIsam; * 会导致大量的IO问题,不建议使用;存储引擎的转换会导致原有表的特性消失,例如外键等; * 使用导入导出表,来实现 * 首先需要...- 通过命令直接修改表的存储引擎
alter table mytest ENGINE = MyIsam;
- 会导致大量的
IO
问题,不建议使用;存储引擎的转换会导致原有表的特性消失,例如外键等; - 使用导入导出表,来实现
- 首先需要修改的表的数据导出
- 然后修改关于表存储引擎的选项
22 DROP TABLE IF EXISTS `mytest`; //在进行恢复的过程中,如果不修改原来表的名字原来的表就回被删除; 23 /*!40101 SET @saved_cs_client = @@character_set_client */; 24 /*!40101 SET character_set_client = utf8 */; 25 CREATE TABLE `mytest` ( 26 `id` int(11) DEFAULT NULL, 27 `name` varchar(30) DEFAULT NULL 28 ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 29 /*!40101 SET character_set_client = @saved_cs_client */;
- 这是一个脚本,可以通过
Mysql
命令直接执行; - 现在的存储引擎是
MyISAM
- 如果不需要原来的表,可以执行这个脚本
root@westos:~# mysql -uroot -p < /mnt/userInfo.mytest.sql -A userInfo Enter password:
- 连接数据库,查看表的状态
- 数据仍然存在
- 第三种方式,是通过创建新表,然后重新写入数据的方式来进行
mysql> create table myisam_mytest like mytest; Query OK, 0 rows affected (0.08 sec) mysql> alter table myisam_mytest engine=Myisam; Query OK, 0 rows affected (0.07 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> insert into myisam_mytest select * from mytest; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0
- 查看修改后的表状态
-
浅谈MySql的存储引擎(表类型)
2020-12-15 19:50:36我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等。根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有... -
如何查看MySQL的当前存储引擎?
2021-02-07 17:09:45一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:看你的mysql现在已提供什么存储引擎:mysql>...你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql> s...一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:
看你的mysql现在已提供什么存储引擎:
mysql> show engines;
看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;
如何查看Mysql服务器上的版本
额 系统函数啊
select version();
Mysql数据库3种存储引擎有什么区别?
这个是考虑性能的问题,还有事务的支持,吧 百度一下你就知道
MyISAM、InnoDB、Heap(Memory)、NDB
貌似一般都是使用 InnoDB的,
mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。
最常使用的2种存储引擎:
1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
==================================================
修改mysql的默认存储引擎
1、查看mysql存储引擎命令,
在mysql>提示符下搞入show engines;
字段 Support为:Default表示默认存储引擎
2、设置InnoDB为默认引擎:
在配置文件my.cnf中的 [mysqld] 下面加入
default-storage-engine=INNODB 一句
3、重启mysql服务器:
mysqladmin -u root -p shutdown
或者service mysqld restart 登录mysql数据库
MySQL查看和修改表的存储引擎
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
-
Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)
2020-12-15 22:49:58在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况。如以下情况: .frm被锁定不能修改 找不到.myi文件(索引文件) 意外结束记录 文件被毁坏 从表处理器得到错误nnn 解决办法1: 使用MySQL自带的myisamchk... -
mysql存储引擎
2019-07-31 19:28:44数据库存储引擎 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行...因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(Table Type,即存储和操作此表... -
MySQL的存储引擎
2022-03-23 17:05:343.查看当前MySQL数据库支持的存储引擎: 1、innodb支持事务,而myisam不支持事务。 2、innodb支持外键,而myisam不支持外键。 3、innodb是行锁,而myisam是表锁(每次更新增加删除都会锁住表)。 4、innodb和myisam... -
Mysql修改表引擎
2018-03-15 11:38:22前言 最近在SpringBoot中采用JpaRepository以及Transactional进行数据库事务操作,结果发现数据库中的表并...经过检查发现代码并没有错误,于是想到可能采用JpaRepository自动创建表时创建的表引擎为MyISAM,而M... -
MySQL之InnoDB存储引擎
2022-03-10 20:52:26MySQL之InnoDB存储引擎 -
MySQL存储引擎
2021-12-10 17:31:12一、mysql存储引擎概述 1.1 存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。...这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。 MySQL默认配置了许多不同的存储引擎, -
MySQL存储引擎解析.doc
2020-08-19 16:38:21mysql存储引擎是mysql组件中的一部分,而MySQL组成是由、管理工具、连接池、SQL接口、分析器、优化器、缓存、存储引擎、硬盘组成的,而mysql存储引擎就是mysql组成中的一个功能模块,存储引擎属于表的处理器 -
MySQL中默认的存储引擎
2021-01-20 03:18:07在MYSQL中支持很多表的类型,对应不同的存储引擎在mysql.exe中用show engines如果想改变默认的存储引擎可以修改my.ini文件中的default-storage-engine常用的存储引擎:· MyISAM:默认的MySQL插件式存储引擎,它是在... -
MySQL 存储引擎
2020-12-29 04:39:42一、MySQL存储引擎种类查看命令:show engines;MRG_MYISAMCSVMyISAMBLACKHOLEPERFORMANCE_SCHEMAInnoDBARCHIVEMEMORYFEDERATED其他产品存储引擎(percona、mariadb)TokuDBMyRocks二、InnoDB 核心特性介绍1、聚簇索引... -
MySQL数据库的存储引擎及索引
2022-03-27 20:58:06MySQL存储引擎 MySQL的存储引擎有很多种,使用show engines命令查看MySQL支持的存储引擎 我们这里主要介绍一下InnoDB和MyISAM存储引擎 ...修改默认的存储引擎:在配置文件my.cnf中的 [mysqld] 下面加入def. -
mysql怎么指定存储引擎?
2021-02-05 01:24:292、修改表时,可以使用“alter table 表名 engine=存储引擎;”来指定存储引擎。(推荐教程:mysql视频教程)存储引擎,即表类型(table_type)用户可以根据应用的需求选择如何来存储数据、索引、是否使用事务等。选择... -
MySQL常见的三种存储引擎
2021-01-18 22:08:06Ok,我们知道了,引擎就是一个程序的核心组件...不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。在MySQL中的存储引擎有很多种,可以通过“SHOW ENGINE... -
Mysql存储引擎详解
2020-09-09 21:20:52存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。本文我们来详细探讨下MySQL中的几个存储引擎(MyISAM、InnoDB、archive、MERGE)的相关知识 -
Mysql常见的几种存储引擎
2021-01-18 21:47:56一、mysql的体系结构整个MysqlServer有一下几部分组成Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Interface : SQL接口组件Parser : 查询分析器组件Optimizer : 优化... -
MySQL常用存储引擎详解
2021-04-05 15:15:43MySQL常用存储引擎详解一、什么是存储引擎二、掌握存储引擎的重要性三、MySQL常用的存储引擎有哪些四、存储引擎的特性1、InnoDB2、MyISAM3、MEMORY4、ARCHIVE总结 一、什么是存储引擎 存储引擎是数据库的核心,对于...