查看mysql当前表使用的存储引擎(转)
说明:
当我们创建表 “test”表时
CREATE TABLE test (
id INT(11) default NULL auto_increment,
s char(60) default NULL,
PRIMARY KEY(id)
ENGINE=InnoDB;
一般情况这样没任何问题。但是,如果MySQL服务器配置中未启用InnoDB存储引擎。则在创建表 test 时,MySQL还是会自动选择默认的存储引擎MyISAM来创建test表。因为通过SHOW CREATE TABLE 表名 来查看表使用的mysql存储引擎是不准确的。
实例:
mysql服务器未启用InnoDB存储引擎;
库名:mytest;
表名:test(mytest.test);
帐号:root;
密码:mypassword;
列 “Engine” 下显示的值表示表正在使用的 MySQL 存储引擎。
1.确认 MySQL 服务器 是否启用InnoDB存储引擎
mysql> SHOW ENGINES;
+------------+---------+----------------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+----------------------------------------------------------+
| InnoDB | NO | Supports transactions, row-level locking, and foreign keys|
| MRG_MYISAM | YES | Collection of identical MyISAM tables |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disa
| CSV | YES | CSV storage engine |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables|
| FEDERATED | NO | Federated MySQL storage engine |
| ARCHIVE | YES | Archive storage engine |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance|
+------------+---------+----------------------------------------------------------+
8 rows in set (0.00 sec)
返回结果是:InnoDB对应的Support为NO,表示未启用InnoDB存储引擎。
2.创建表 “test”
mysql> create database mytest;
Query OK, 1 row affected (0.02 sec)
mysql> use mytest;
Database changed
mysql> CREATE TABLE test (
-> id INT(11) default NULL auto_increment,
-> s char(60) default NULL,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected, 2 warnings (0.06 sec)
mysql>
3.使用“SHOW CREATE TABLE 表名” 来查看,这种方式是不准确的
mysql> SHOW CREATE TABLE test;
+-------+----------------------------------------------------------------------------+
| Table | Create Table|
+-------+----------------------------------------------------------------------------+
| test | CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`s` char(60) DEFAULT NULL,
PRIMARY KEY (`id`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------+
1 row in set (0.00 sec)
可以看到test表还是InnoDB引擎!!
4.使用SHOW TABLE STATUS from 数据库库名 where Name=’表名’;这是正确的方式
# mysql -uroot -p'mypassword'
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 221
Server version: 5.1.41-3ubuntu12.7 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW TABLE STATUS from mytest where Name='test';
+------------+--------+---------+------------+------+----------------+-------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |
+------------+--------+---------+------------+------+----------------+-------------+
| test | MyISAM | 10 | Fixed | 0 | 0 | 0 |
+------------+--------+---------+------------+------+----------------+-------------+
1 row in set (0.02 sec)
mysql>
5.mysqlshow -u 数据库登录帐号 -p ‘数据库登录帐号密码’ – -status 数据库库名 表名,这也是正确的方式
# mysqlshow -uroot -p'mypassword' --status mytest test
Database:mytest Wildcard: test
+------------+--------+---------+------------+------+----------------+-------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |
+------------+--------+---------+------------+------+----------------+-------------+
| test | MyISAM | 10 | Fixed | 0 | 0 | 0 |
+------------+--------+---------+------------+------+----------------+-------------+
最后:
可以看出,在未启用InnoDB存储引擎的情况下,我们发现4,5步返回的结果是正确的,列Engine为MyISAM而不是InnoDB存储引擎。而第3步使用 “SHOW CREATE TABLE 表名” 来查看表使用的mysql存储引擎是不准确的。
转载请注明:酷喃|coolnull| » 查看mysql当前表使用的存储引擎
http://coolnull.com/2759.html
查看mysql当前表使用的存储引擎(转)的更多相关文章
- 数据库 MySQL 之 表操作、存储引擎
数据库 MySQL 之 表操作.存储引擎 浏览目录 创建(复制) 删除 修改 查询 存储引擎介绍 一.创建(复制) 1.语法: 1 2 3 4 5 CREATE TABLE 表名( 字段名1 ...
- 如何查看mysql数据库表所使用的引擎(转载)
我们怎么样才能准确的查看mysql的存储引擎呢,下面我给大家介绍两种正确的方式. 1)正确方式一: SHOW TABLE STATUS from 数据库库名 where Name='表名' 2)mys ...
- MySQL表类型和存储引擎版本不一致解决方法
使用的是老版本的mysql客户端Navicate 8 ,mysql 服务端用的是mysql5.6的版本,在修改版本引擎的时候出现版本不对; mysql error ‘TYPE=MyISAM’ 解决办法 ...
- MySQL数据分析-(15)表补充:存储引擎
大家好,我是jacky,很高兴继续跟大家分享<MySQL数据分析实战>,今天跟大家分享的主题是表补充之存储引擎: 我们之前学了跟表结构相关的一些操作,那我们看一下创建表的SQL模型: 在我 ...
- MySql(一)表类型(存储引擎)
MySql(一)表类型(存储引擎) 一.MYSQL存储引擎概述 二.存储引擎的特性对比 2.1 MyISAM 2.2 InnoDB 2.2.1 自动增长列 2.2.2 外键约束 2.2.3 存储方式 ...
- mysql————表类型(存储引擎)的选择
表类型(存储引擎)的选择 7.1 mysql存储引擎概述 插件式存储引擎是mysql数据库最重要的特性之一,用户可以根据应用的需要选择ruhr存储和索引数据,是否使用事务等. InnoDB和BDB提供 ...
- [MySQL Reference Manual]15. 其他存储引擎
15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...
- MySQL 远程连接(federated存储引擎)
标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...
- MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分.不同的存储引擎决定了 ...
随机推荐
- 自己总结的ruby on rails 查询方法
闲来无事,结合以前的代码,总结了ruby on rails的查询方法,方便自己以后查看,也方便后来人,如下,欢迎批评指正 1::simpleDB modules = find(:all, :condi ...
- Python中字符串的方法及注释
先整理到这里:用的时候便于查询.相当于自己的资料库吧. capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) ...
- Metasploit学习之msf连接数据库
kali使用metasploit开启数据服务: 首先,初次使用系统要初始化建立数据库msf3, 否则的话 /opt/metasploit/apps/pro/ui/config/databse.yml不 ...
- PLSQL数据导入
导入数据 (1) 首先以管理员身份登录plsql; (2) 新建命令窗口 (3) 创建用户,设置帐号,密码 创建语句:create user usernameidenti ...
- 使用gdb调试游戏服务器
前言 谈论gdb重要性 一般来说.提gdb,命令用于调试."命令",用户是几乎相同的复杂话.而事实确实如此,实际的开发调试必须用到gdb. 如今.大多数Linux系统是存在于ser ...
- mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys
http.sys你可以用 mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys并且还是开源的,作者天天更新代码,非常勤奋,官方论坛提问,回答也快其实,稍微看看,就能玩的挺好的
- Codeforces 358 D. Dima and Hares
dp[i][0]表示i号兔子先于i-1号兔子喂食,dp[i][1]反过来. 倒着DP D. Dima and Hares time limit per test 2 seconds memory li ...
- Codeforces 474B Worms 二分法(水
主题链接:http://codeforces.com/contest/474/problem/B #include <iostream> #include <cmath> #i ...
- 为Delphi程序增加UAC功能(每个步骤都很详细)
相关资料:http://bbs.csdn.net/topics/320071356# 操作方法: 在Source\VCL目录下应该有这样两个文件sample.manifest和WindowsXP.rc ...
- OpenRisc-50-or1200的freeze模块分析
引言 之前,我们分析or1200的控制通路中的sprs模块和except模块,本小节,我们就分析一下or1200控制通路的最后一个模块,就是freeze模块. 1,整体分析 freeze模块,顾名思义 ...