首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql没有InnoDB引擎如何添加进来

Mysql没有InnoDB引擎如何添加进来

提问于 2024-01-21 16:25:32
回答 1关注 0查看 20

回答 1

gavin1024

发布于 2024-01-22 05:27:18

如果您的 MySQL 数据库没有 InnoDB 引擎,您可以按照以下步骤添加 InnoDB 引擎:

  1. 首先,您需要确认您的 MySQL 版本是否支持 InnoDB 引擎。您可以通过在 MySQL 命令行中输入以下命令来检查:
代码语言:txt
AI代码解释
复制
SHOW ENGINES;

如果您看到 InnoDB 引擎的状态为 "DISABLED",则需要按照以下步骤启用它:

  1. 打开 MySQL 配置文件 my.cnf(Linux)或 my.ini(Windows)。该文件通常位于 /etc/mysql/ 或 C:\Program Files\MySQL\MySQL Server x.x\ 目录下。
  2. 在 [mysqld] 部分下添加以下行:
代码语言:txt
AI代码解释
复制
default-storage-engine=InnoDB

这将 InnoDB 设置为默认的存储引擎。

  1. 保存并关闭配置文件。
  2. 重启 MySQL 服务。在 Linux 上,您可以使用以下命令:
代码语言:txt
AI代码解释
复制
sudo service mysql restart

在 Windows 上,您可以使用以下命令:

代码语言:txt
AI代码解释
复制
net stop mysql
net start mysql
  1. 重新连接到 MySQL,并再次运行以下命令以确认 InnoDB 引擎已启用:
代码语言:txt
AI代码解释
复制
SHOW ENGINES;

现在,您应该能够在您的 MySQL 数据库中使用 InnoDB 引擎了。

腾讯云提供了强大的 MySQL 数据库服务,您可以使用腾讯云的 MySQL 数据库来满足您的需求。腾讯云的 MySQL 数据库支持多种存储引擎,包括 InnoDB。您可以在腾讯云官网上了解更多关于腾讯云 MySQL 数据库的信息。

和开发者交流更多问题细节吧,去 写回答
相关文章
MySQL InnoDB引擎
表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。
用户9615083
2022/12/25
1.6K0
MySQL InnoDB引擎
Mysql存储引擎 innodb
从InnoDB存储引擎的存储结构看,所有数据都被逻辑地放在一个空间中,称之为表空间(tablespace)、区(extent)、页(page)组成,页在一些文档中也被称之为块(block)。
thierryzhou
2022/12/02
5K1
MySql——InnoDB引擎总体架构
  Buffer Pool主要分为3个部分:Buffer Pool、Change Buffer、Adaptive HashIndex,另外还有一个(redo) log buffer。
向着百万年薪努力的小赵
2022/12/02
7260
MySql——InnoDB引擎总体架构
mysql 谈谈innodb存储引擎
5.7版本引入了模式自动转换的功能,但该语法依然保留了。 另外一个有趣的点是,在5.7版本中,你可以通过设置session_track_transaction_info变量来跟踪事务的状态,这货主要用于官方的分布式套件(例如fabric),例如在一个负载均衡系统中,你需要知道哪些 statement 开启或处于一个事务中,哪些 statement 允许连接分配器调度到另外一个 connection。只读事务是一种特殊的事务状态,因此也需要记录到线程的Transaction_state_tracker中。 关于Session tracker,可以参阅官方WL#6631。 START TRANSACTION READ WRITE 和上述相反,该SQL用于开启读写事务,这也是默认的事务模式。但有一点不同的是,如果当前实例的 read_only 打开了且当前连接不是超级账户,则显示开启读写事务会报错。 同样的事务状态TX_READ_WRITE也要加入到Session Tracker中。另外包括上述几种显式开启的事务,其标记TX_EXPLICIT也加入到session tracker中。 读写事务并不意味着一定在引擎层就被认定为读写事务了,5.7版本InnoDB里总是默认一个事务开启时的状态为只读的。举个简单的例子,如果你事务的第一条SQL是只读查询,那么在InnoDB层,它的事务状态就是只读的,如果第二条SQL是更新操作,就将事务转换成读写模式。 START TRANSACTION WITH CONSISTENT SNAPSHOT 和上面几种方式不同的是,在开启事务时还会顺便创建一个视图(Read View),在InnoDB中,视图用于描述一个事务的可见性范围,也是多版本特性的重要组成部分。 这里会进入InnoDB层,调用函数innobase_start_trx_and_assign_read_view,注意只有你的隔离级别设置成REPEATABLE READ(可重复读)时,才会显式开启一个Read View,否则会抛出一个warning。 使用这种方式开启事务时,事务状态已经被设置成ACTIVE的。 状态变量TX_WITH_SNAPSHOT会加入到Session Tracker中。 AUTOCOMMIT = 0 当autocommit设置成0时,就无需显式开启事务,如果你执行多条SQL但不显式的调用COMMIT(或者执行会引起隐式提交的SQL)进行提交,事务将一直存在。通常我们不建议将该变量设置成0,因为很容易由于程序逻辑或使用习惯造成事务长时间不提交。而事务长时间不提交,在MySQL里简直就是噩梦,各种诡异的问题都会纷纷出现。一种典型的场景就是,你开启了一条查询,但由于未提交,导致后续对该表的DDL堵塞住,进而导致随后的所有SQL全部堵塞,简直就是灾难性的后果。 另外一种情况是,如果你长时间不提交一个已经构建Read View的事务,purge线程就无法清理一些已经提交的事务锁产生的undo日志,进而导致undo空间膨胀,具体的表现为ibdata文件疯狂膨胀。我们曾在线上观察到好几百G的Ibdata文件。 TIPS:所幸的是从5.7版本开始提供了可以在线truncate undo log的功能,前提是开启了独立的undo表空间,并保留了足够的 undo 回滚段配置(默认128个),至少需要35个回滚段。其truncate 原理也比较简单:当purge线程发现一个undo文件超过某个定义的阀值时,如果没有活跃事务引用这个undo文件,就将其设置成不可分配,并直接物理truncate文件。 事务提交 事务的提交分为两种方式,一种是隐式提交,一种是显式提交。 当你显式开启一个新的事务,或者执行一条非临时表的DDL语句时,就会隐式的将上一个事务提交掉。另外一种就是显式的执行“COMMIT” 语句来提交事务。 然而,在不同的场景下,MySQL在提交时进行的动作并不相同,这主要是因为 MySQL 是一种服务器层-引擎层的架构,并存在两套日志系统:Binary log及引擎事务日志。MySQL支持两种XA事务方式:隐式XA和显式XA;当然如果关闭binlog,并且仅使用一种事务引擎,就没有XA可言了。 关于隐式XA的控制对象,在实例启动时决定使用何种XA模式,如下代码段: if (total_ha_2pc > 1 || (1 == total_ha_2pc && opt_bin_log)) { if (opt_bin_log) tc_log= &mysql_bin_log; else tc_log= &tc_log_mmap; }
Java架构师历程
2018/09/26
1.8K0
mysql 谈谈innodb存储引擎
Mysql 学习 --- innodb存储引擎
1.MySQL数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL分析器和优化器等,而存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。
用户4158112
2020/11/19
9710
MySQL存储引擎 InnoDB 介绍
InnoDB存储引擎提供了具有提交,回滚,和崩溃恢复能力的事务安全,对比MYISAM 的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。它的特点有如下:
星哥玩云
2022/08/17
1.4K0
MySQL存储引擎 InnoDB 介绍
MySQL InnoDB 存储引擎探秘
在MySQL中InnoDB属于存储引擎层,并以插件的形式集成在数据库中。从MySQL5.5.8开始,InnoDB成为其默认的存储引擎。InnoDB存储引擎支持事务、其设计目标主要是面向OLTP的应用,主要特点有:支持事务、行锁设计支持高并发、外键支持、自动崩溃恢复、聚簇索引的方式组织表结构等。
烂猪皮
2019/03/12
1.2K0
MySQL InnoDB 存储引擎探秘
MySQL 的 InnoDB 存储引擎简介
MySQL 是世界上最流行的开源关系型数据库管理系统之一,而其中的存储引擎则是其关键组成部分之一。InnoDB 存储引擎在 MySQL 中扮演了重要角色,提供了许多高级功能和性能优化,适用于各种应用程序和工作负载。本文将深入介绍 InnoDB 存储引擎的各个方面,以帮助您更好地理解它的特性和优势。
孟斯特
2023/10/19
4090
MySQL 的 InnoDB 存储引擎简介
MySQL InnoDB 存储引擎原理浅析
本文主要基于MySQL 5.6以后版本编写,多数知识来着书籍《MySQL技术内幕++InnoDB存储引擎》,今年的多数学习知识只写在笔记里,较为零散,最近稍有时间整理出来,分享进步。
程序员小强
2021/05/27
1.6K0
MySQL存储引擎MyISAM与InnoDB
存储引擎的实质就是如何实现存储数据,为存储数据建立索引以及查询、更改、删除数据等技术实现的方法。
星哥玩云
2022/08/17
8080
MySQL内核InnoDB存储引擎详解
MySQL从5.5版本开始将InnoDB作为默认存储引擎,该存储引擎是第一个完整支持事务ACID特性的存储引擎,且支持数据行锁,多版本并发控制(MVCC),外键,以及一致性非锁定读。 作为默认存储引擎,也就意味着默认创建的表都会使用此存储引擎,除非 使用ENGINE=参数指定创建其他存储引擎的表。
星哥玩云
2022/08/17
3.4K0
MySQL内核InnoDB存储引擎详解
MySQL InnoDB引擎锁的总结
我们开的的各式各样系统中,系统运行需要CPU、内存、I/O、磁盘等等资源。但除了硬资源外,还有最为重要的软资源:数据。
大愚
2018/09/13
1.2K0
MySQL InnoDB引擎锁的总结
mysql-innodb引擎之checkpoint
缓冲池的出现是缓解磁盘和cpu之间的速度问题。但是缓存池大小是有一定限制的,所以缓存池需要指定一些策略来保证缓冲池的循环使用,比如lru算法、checkpiont等
一只羊羊
2025/02/06
1230
MySql InnoDB 存储引擎表优化
适时的使用 OPTIMIZE TABLE 语句来重组表,压缩浪费的表空间。这是在其它优化技术不可用的情况下最直接的方法。OPTIMIZE TABLE 语句通过拷贝表数据并重建表索引,使得索引数据更加紧凑,减少空间碎片。语句的执行效果会因表的不同而不同。过大的表或者过大的索引及初次添加大量数据的情况下都会使得这一操作变慢。
WindWant
2023/06/27
6190
MySQL 的 InnoDB 存储引擎简介
MySQL 是世界上最流行的开源关系型数据库管理系统之一,而其中的存储引擎则是其关键组成部分之一。InnoDB 存储引擎在 MySQL 中扮演了重要角色,提供了许多高级功能和性能优化,适用于各种应用程序和工作负载。本文将深入介绍 InnoDB 存储引擎的各个方面,以帮助您更好地理解它的特性和优势。
孟斯特
2023/10/05
8150
MySQL 的 InnoDB 存储引擎简介
MySQL InnoDB 存储引擎原理浅析
前言 本文主要基于MySQL 5.6以后版本编写,多数知识来着书籍《MySQL技术内幕++InnoDB存储引擎》,本文章仅记录个人认为比较重要的部分,有兴趣的可以花点时间读原书。
一个会写诗的程序员
2021/12/16
4250
MySQL InnoDB 存储引擎原理浅析
MySQL常用存储引擎之InnoDB
MySQL5.5以后版本的默认存储引擎 支持事物的ACID特性 Innodb使用表空间存储 innodb_file_per_table (如果此参数为ON) 则会创建一个独立的表空间:tablename.ibd 系统表空间:ibdataX(如果参数为OFF) X表示一个数字 演示参数ON mysql> show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name
Yuou
2022/09/26
3870
MySQL InnoDB引擎表空间(tablespace)
现在的MySQL版本已经可以实现自动扩展表空间,其中innodb_file_per_table默认是开启的,表示为每一张新建的表创建表空间,这样可以避免ibdata1过于庞大。
devsql
2018/10/24
6.1K0
MySQL InnoDB引擎表空间(tablespace)
Mysql中MyISAM引擎和InnoDB引擎的比较
结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM ---- MyISAM 和 InnoDB的适用场景 MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。 InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。 ---- MyISAM 和 InnoDB的区别 1)MyISAM类型不支持事务处理等
老七Linux
2018/05/09
1.6K0
MySQL 存储引擎 - InnoDB 实现原理介绍
内存结构主要包括 Buffer Pool、Change Buffer、Adaptive Hash Index和 Log Buffer 四大组件
一个会写诗的程序员
2023/03/08
1.2K1
MySQL 存储引擎 - InnoDB 实现原理介绍

相似问题

为什么现在的云数据库 mysql只提供innodb引擎?

2434

2020-01-04:mysql里的innodb引擎的数据结构,你有看过吗?

0196

哪位大神进来看看?

2316

关于备案问题 客服进来下吧?

3515

mysql数据单行长度超过innodb的页块限制?

11.1K
相关问答用户
公司公司公司公司公司公司 | 职务职务职务职务职务职务擅长3个领域
中建数科 | 技术总监架构部总经理擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档