zoukankan      html  css  js  c++  java
  • MySQL查看修改存储引擎总结

    本文总结了MySQL下查看、修改存储引擎的一些方法。测试、验证环境为MySQL 5.6 ,如有差异,请以实际版本为准

     

    1:查看MySQL的存储引擎信息

     

    1.1 使用show engines命令。

    Support列, YES表示当前版本支持这个存储引擎, DEFAULT表示该引擎是默认的引擎。NO表示不支持该存储引擎。如下所示,InnoDB是默认的存储引擎。

     

    1.2 可以查看系统变量default_storage_engine或storage_engine

     

         1:default_storage_engine 表示永久表(permanent tables)的默认存储引擎。

         2:default_tmp_storage_engine 表示临时表的默认存储引擎。

         storage_engine这个系统变量不推荐使用,它已经被系统变量default_storage_engine替代了。

    mysql> show variables like '%storage_engine%';
    +----------------------------+--------+
    | Variable_name              | Value  |
    +----------------------------+--------+
    | default_storage_engine     | InnoDB |
    | default_tmp_storage_engine | InnoDB |
    | storage_engine             | InnoDB |
    +----------------------------+--------+
    3 rows in set (0.01 sec)
     
    mysql> 

    clip_image001

     

    2:如何修改MySQL的默认存储引擎?

     

    2.1 修改my.cnf,在配置文件里面增加参数default-storage-engine,然后重启数据库服务。

    [mysqld]

    default-storage-engine=MyISAM

     

    然后检查默认存储引擎,就会看到MyISAM为默认存储引擎了。

     

     

    2.2 使用命令修改系统变量(system variables)

     

     

    注意,这个系统变量default_storage_engine是BOTH(全局和临时),而且可以动态修改。但是要注意,即使你修改了系统变量default_storage_engine,重启过后就会失效,如果你要永久修改,最好在my.cnf配置文件里面也设置default-storage-engine的值。

     

    3:如何查看表使用的存储引擎?

     

    查看表所用的存储引擎,有下面几种方法:

     

    3.1 查询information_schema.TABLES

    mysql> SELECT TABLE_SCHEMA, 
        ->        TABLE_NAME, 
        ->        TABLE_TYPE, 
        ->        ENGINE 
        -> FROM   information_schema.TABLES 
        -> WHERE  TABLE_NAME = 'TEST'; 
    +--------------+------------+------------+--------+
    | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE |
    +--------------+------------+------------+--------+
    | gsp          | TEST       | BASE TABLE | InnoDB |
    +--------------+------------+------------+--------+
    1 row in set (0.00 sec)
     
    mysql> 

    clip_image003

     

    3.2 使用SHOW CREATE TABLE TEST G命令。

     

    mysql> SHOW CREATE TABLE TEST G;
    *************************** 1. row ***************************
           Table: TEST
    Create Table: CREATE TABLE `TEST` (
      `ID` int(11) DEFAULT NULL,
      `COL1` varchar(6) DEFAULT NULL,
      `COL2` varchar(6) DEFAULT NULL,
      `COL3` varchar(6) DEFAULT NULL,
      `COL4` varchar(6) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1
    1 row in set (0.00 sec)
     
    ERROR: 
    No query specified
     
    mysql> 

    clip_image004

     

    3.3 SHOW TABLE STATUS

    mysql> SHOW TABLE STATUS WHERE Name='TEST';
    ERROR 1046 (3D000): No database selected
    mysql> 
    mysql> 
    mysql> use gsp;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Database changed
    mysql> SHOW TABLE STATUS WHERE Name='TEST';

     

    如上所示,这种写法必须制定数据库,否则,你只能使用下面语法

    SHOW TABLE STATUS [{FROM | IN} db_name]

    [LIKE 'pattern' | WHERE expr]

    mysql> SHOW TABLE STATUS FROM gsp WHERE Name='TEST';

     

    4:如何修改相关表的存储引擎?

     

    修改表的存储引擎非常简单,语法如下所示

    ALTER TABLE my_table ENGINE = InnoDB;

    mysql> ALTER TABLE TEST ENGINE=MyISAM;
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
     
    mysql> SHOW CREATE TABLE TEST G;
    *************************** 1. row ***************************
           Table: TEST
    Create Table: CREATE TABLE `TEST` (
      `ID` int(11) DEFAULT NULL,
      `COL1` varchar(6) DEFAULT NULL,
      `COL2` varchar(6) DEFAULT NULL,
      `COL3` varchar(6) DEFAULT NULL,
      `COL4` varchar(6) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1
    1 row in set (0.00 sec)
     
    ERROR: 
    No query specified
     
    mysql> 

     

    5:创建表的时候如何指定存储引擎。

     

    创建表的时候,如果要指定存储引擎,只需要设置参数ENGINE即可。非常简单。

     

    mysql> CREATE TABLE TEST1 (ID INT) ENGINE=InnoDB;
    Query OK, 0 rows affected (0.02 sec)
     
    mysql>  CREATE TABLE TEST2 (ID INT) ENGINE=MyISAM;
    Query OK, 0 rows affected (0.00 sec)

     

    参考资料:

    https://dev.mysql.com/doc/refman/5.6/en/storage-engine-setting.html

    https://dev.mysql.com/doc/refman/5.7/en/storage-engine-setting.html

     

  • 相关阅读:
    Atitit 经济学常见的流派 古典主义与凯恩斯主义
    Atitit 学习方法 体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
    atiitt it学科体系化 体系树与知识点概念大总结.xlsx
    Atitit 减少财政支出普通人如何蹭政府补贴措施 attilax大总结.docx
    Atitit 信用管理概论 attilax学习心得
    Atitit.月度计划日程表 每月流程表v5
    Atitit 企业6大职能 attilax总结
    Atitit 常见每日流程日程日常工作.docx v8 ver ampm imp 签到 am y 天气情况检查 am y 晨会,每天或者隔天 am 每日计划(项目计划,日计划等。 am
    Atitit 财政赤字解决方案
    Atitit 建设自己的财政体系 attilax总结 1.1. 收入理论 2 1.2. 收入分类 2 1.3. 2 1.4. 非货币收入 2 1.5. 2 1.6. 降低期望 2 1.7.
  • 原文地址:https://www.cnblogs.com/kerrycode/p/6571868.html
Copyright © 2011-2022 走看看