首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql修改默认存储引擎

MySQL的默认存储引擎可以通过修改配置文件或者在创建数据库时指定来更改。以下是关于MySQL修改默认存储引擎的基础概念、优势、类型、应用场景以及可能遇到的问题和解决方法。

基础概念

存储引擎是MySQL中用于存储、检索和操作数据的底层软件组件。不同的存储引擎提供了不同的功能和性能特性。

常见存储引擎类型及其优势

  1. InnoDB
    • 优势:支持事务处理(ACID),行级锁定,外键约束。
    • 应用场景:适用于需要高并发读写、事务支持和数据完整性的应用。
  • MyISAM
    • 优势:表级锁定,全文索引支持,读取速度快。
    • 应用场景:适用于读取操作远多于写入操作的场景,如静态内容网站。
  • Memory
    • 优势:数据存储在内存中,访问速度快。
    • 应用场景:适用于临时表或缓存数据的场景。

修改默认存储引擎的方法

方法一:修改配置文件

  1. 打开MySQL配置文件(通常是my.cnfmy.ini)。
  2. 找到[mysqld]部分,添加或修改以下行:
  3. 找到[mysqld]部分,添加或修改以下行:
  4. 保存文件并重启MySQL服务。

方法二:创建数据库时指定

在创建数据库时可以直接指定存储引擎:

代码语言:txt
复制
CREATE DATABASE mydb ENGINE=InnoDB;

可能遇到的问题及解决方法

问题1:修改后未生效

原因:可能是配置文件未正确修改或MySQL服务未重启。 解决方法

  • 确认配置文件路径和内容正确。
  • 使用以下命令重启MySQL服务:
  • 使用以下命令重启MySQL服务:

问题2:权限不足

原因:当前用户没有足够的权限修改数据库或表结构。 解决方法

  • 使用具有足够权限的用户登录MySQL。
  • 授予相应权限:
  • 授予相应权限:

问题3:存储引擎不支持某些特性

原因:选择的存储引擎可能不支持特定的数据库操作或特性。 解决方法

  • 根据应用需求选择合适的存储引擎。
  • 如果需要事务支持,必须使用InnoDB。

示例代码

以下是一个简单的示例,展示如何在创建表时指定存储引擎:

代码语言:txt
复制
CREATE TABLE example_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

通过以上方法,你可以有效地修改MySQL的默认存储引擎,并根据具体需求选择最适合的存储引擎类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mysql面试题1:MySQL有哪些常见存储引擎?MySQL默认是哪个存储引擎?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL有哪些常见存储引擎?...MySQL有以下几种常见的存储引擎: InnoDB:默认的存储引擎,支持事务处理、行级锁定和外键约束等特性,适用于大部分应用场景。...MyISAM:在早期版本的MySQL中常用的存储引擎,适用于读频繁的应用,但不支持事务处理和行级锁定。...NDB:适用于高可用性和高并发读写的存储引擎,具备分布式数据库的特性,用于构建MySQL Cluster。 另外,还有一些其他的存储引擎如Merge、Federated等,但使用较为有限。...面试官:MySQL默认是哪个存储引擎? MySQL的默认存储引擎是InnoDB。

9500
  • MySQL有哪些存储引擎(MySQL存储引擎大全)

    MyISAM在所有MySQL版本里被支持;不支持事务处理;它是MySQL的默认的存储引擎; MEMORY MEMORY存储引擎,别称HEAP存储引擎;提供“内存中”表,将数据存储在内存中。...MEMORY存储引擎不支持事务处理;MySQL的所有版本都支持InnoDB存储引擎;注释:MEMORY存储引擎正式地被确定为HEAP引擎。...InnoDB存储引擎;它支持事务处理; BDB BDB存储引擎,别名BERKELEYDB;BDB存储引擎提供事务安全表;mysql 5.1以下版本才支持此存储引擎; EXAMPLE EXAMPLE存储引擎是一个...你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。...NDB NDB存储引擎,别名NDBCLUSTER;NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。

    6.2K41

    MySQL存储引擎

    存储引擎的选择为不同的业务表选择不同的存储引擎,例如:查询操作多的业务表,用 MyISAM。临时数据用 Memeroy。常规的并发大更新多的表用 InnoDB。...字段定义原则:使用可以正确存储数据的最小数据类型。为每一列选择合适的字段类型。整数类型INT 有 8 种类型,不同的类型的最大存储范围是不一样的。性别?...大文件存储不要用数据库存储图片(比如 base64 编码)或者大文件;把文件放在 NAS 上,数据库只需要存储 URI(相对路径),在应用中配置 NAS 服务器地址。...为什么同样用 MySQL,有的公司可以抗住百万千万级别的并发,而有的公司几百个并发都扛不住,关键在于怎么用。所以,用数据库慢,不代表数据库本身慢,有的时候还要往上层去优化。...当然,如果关系型数据库解决不了的问题,我们可能需要用到搜索引擎或者大数据的方案了,并不是所有的数据都要放到关系型数据库存储。

    10910

    MySQL 存储引擎

    存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果 没有指定将自动选择默认的存储引擎。...# InnoDB 介绍 InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的 MySQL 存储引擎。...默认情况下, InnoDB存储引擎页大小为16K, 即一个区中一共有64个连续的页。 页 : 页是组成区的最小单元,页也是InnoDB 存储引擎磁盘管理的最小单元,每个页的大小默认为 16KB。...# MyISAM 介绍 MyISAM是MySQL早期的默认存储引擎。...对于复杂的应用系统,还可以根据 实际情况选择多种存储引擎进行组合。 InnoDB: 是Mysql的默认存储引擎,支持事务、外键。

    2.5K20

    MySQL存储引擎

    文章目录 MySQL存储引擎 一、查看修改存储引擎 二、主要引擎介绍 1、MyISAM引擎 2、InnoDB 引擎 3、MEMORY 引擎 MySQL存储引擎 一、查看修改存储引擎 查看mysql提供什么存储引擎...: show engines; 查看默认的存储引擎: show variables like '%storage_engine%'; #或 SELECT @@default_storage_engine...; 修改默认的存储引擎: SET DEFAULT_STORAGE_ENGINE=MyISAM; #或者修改 my.cnf 文件 default-storage-engine=MyISAM # 重启服务...systemctl restart mysqld.service 创建表时指定存储引擎: CREATE TABLE 表名( 建表语句; ) ENGINE = 存储引擎名称; 修改表的存储引擎: ALTER...: 表名.frm 存储表结构(MySQL8.0时,合并在表名.ibd中) 表名.ibd 存储数据和索引 注:索引采用聚集索引,索引和数据存储在同一个文件 对比MyISAM: 对比MyISAM的存储引擎,

    2.4K40

    Mysql存储引擎

    前言 MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎。MySQL支持的存储引擎有很多,常用的是:InnoDB,MyISAM。...MEMORY,MERGE作为了解,其中InnoDB提供事务安全,其他存储引擎是非事务安全表。...:  查看Mysql数据库的默认引擎指令: show variables like '%storage_engine%'; 1.1 InnoDB InnoDB存储引擎是Mysql的默认引擎。...外键约束 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候,也会自动的创建对应的索引。...insert into student_all values(3,'幸运'); 总结 对于存储引擎的选择,根据业务需求对应各个存储引擎的特征进行选择即可。

    20320

    【MySQL】存储引擎

    触发器、视图等也在这一层 存储引擎层 存储引擎层负责对数据的存储和提取,常见的存储引擎有InnoDB、MyISAM、Memory等,在 MySQL5.5之后,MySQL默认的存储引擎就是InnoDB,InnoDB...默认使用的索引结构就是B+树,上面 的服务层就是通过API接口与存储引擎层进行交互的 数据层 数据层系主要包括MySQL中存储数据的底层文件,与上层的存储引擎进行交互,是文件的物理存 储层。...介绍 InnoDB 是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后, InnoDB 是默认的 MySQL 存储引擎。 2)....介绍 MyISAM 是 MySQL 早期的默认存储引擎。 2). 特点 不支持事务,不支持外键 支持表锁,不支持行锁 访问速度快 3)....对于复杂的应用系统,还可以 根据 实际情况选择多种存储引擎进行组合。 InnoDB: 是 Mysql 的默认存储引擎,支持事务、外键。

    3.3K21

    Mysql存储引擎

    当别人问我Mysql的存储引擎的时候,我就知道Myisam和innodb 虽然知道有其他的存储引擎,但是从来没有去了解过今天了解一下扩充知识 查看Mysql的存储引擎 show engines; MyISAM...Mysql 5.5之前默认的存储引擎 MyISAM存储引擎由MYD和MYI组成 ?  ...适用场景: 非事物型应用(数据仓库,报表,日志数据) 只读类应用 空间类应用(空间函数,坐标) INNODB MySql5.5以及以后版本默认的存储引擎 innodb_file_per_table   ....frm表结构 .ibd数据+索引 聚集索引 mysql5.6以前默认为系统表空间 系统表空间和独立表空间 系统表空间无法简单的收缩文件大小 独立表空间可以通过optimize table 收缩系统文件...特点:   提供了远程访问Mysql服务器上的表的方法   本地不存储数据,数据全部放到远程服务器上   本地需要保存表结构和远程服务器的链接信息  使用场景:   偶尔的统计分析及手工查询 这个存储引擎默认是不开启的如果需要使用需要手动开启

    3.1K20

    MySQL存储引擎

    show engines; 查看支持的存储引擎。...mysql表的存储引擎: InnoDB myISAM Memory MRG_MYISAM archive federated,CSV,BLACKHOLE 1、InnoDB 支持事务和外键...INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能 全文索引 不支持 锁 InnoDB支持行级锁,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL...: InnoDB(索引组织表)使用的聚簇索引、索引就是数据,顺序存储,因此能缓存索引,也能缓存数据 并发: InnoDB 读写阻塞与事务隔离级别相关 什么时候选择InnoDB(是建表的默认选择)?...1、不需要事务支持(不支持) 2、并发相对较低(锁定机制问题) 3、数据修改相对较少(阻塞问题),以读为主 4、数据一致性要求不是非常高

    19130

    MySQL存储引擎

    定义 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。...不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。...常用的MySQL存储引擎 InnoDB InnoDB 是 MySQL 默认的事务型存储引擎,只有在需要 InnoDB 不支持的特性时,才考虑使用其它存储引擎。...采用 MVCC 来支持高并发,并且实现了四个标准的隔离级别,默认级别是可重复读。 表是基于聚簇索引建立的,它对主键的查询性能有很高的提升。...如果指定了 DELAY_KEY_WRITE 选项,在每次修改执行完成时,不会立即将修改的索引数据写入磁盘,而是会写到内存中的键缓冲区,只有在清理键缓冲区或者关闭表的时候才会将对应的索引块写入磁盘。

    1.8K40

    Mysql存储引擎 innodb

    在默认情况下,InnoDB存储引擎都有一个共享表空间ibdata1,即所有数据都存放在这个表空间内。...为了保证区中页的连续性,InonoDB存储引擎一次从磁盘申请4-5个区。在默认情况下,InnoDB存储引擎的页的大小为16KB,即一个区中应有64个连续的页。...(对于一些小表)1.4、页(page)页是InnoDB存储引擎磁盘管理的最小单位,每个页默认16KB;InnoDB存储引擎从1.2.x版本开始,可以通过参数innodb_page_size将页的大小设置为...若设置完成,则所有表中页的大小都为innodb_page_size,不可以再次对其进行修改,除非通过mysqldump导入和导出操作来产生新的库。...2.2、行溢出数据InnoDB 存储引擎可以将一条记录中的某些数据存储在真正的数据页之外。因为一般数据页默认大小为16KB,假如一个数据页存储不了插入的数据,这时肯定就会发生行溢出。

    4.8K92

    MySQL存储引擎总结

    对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。...这篇博文将总结和分析各个引擎的特点,以及适用场合,并不会纠结于更深层次的东西。我的学习方法是先学会用,懂得怎么用,再去知道到底是如何能用的。下面就对MySQL支持的存储引擎进行简单的介绍。...我的电脑上安装的MySQL 5.6.13版,InnoDB就是作为默认的存储引擎。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择: 1.更新密集的表。...InnoDB存储引擎特别适合处理多重并发的更新请求。 2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。 3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。...MEMORY 使用MySQL Memory存储引擎的出发点是速度。为得到最快的响应时间,采用的逻辑存储介质是系统内存。

    1.7K60
    领券