MySQL运维实战(4.8) SQL_MODE之NO_ENGINE_SUBSTITUTION

俊达2周前技术文章23

开启NO_ENGINE_SUBSTITUTION,建表时如果指定的存储引擎不可用或不存在,SQL报错。否则会使用默认的存储引擎替换。



如果不设置NO_ENGINE_SUBSTITUTION,建表时指定的存储引擎不存在,则MySQL会使用默认的存储引擎替换

mysql> set sql_mode='';
Query OK, 0 rows affected (0.00 sec)

mysql> create table t1(a int) engine=abc;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> show warnings;
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1286 | Unknown storage engine 'abc'               |
| Warning | 1266 | Using storage engine InnoDB for table 't1' |
+---------+------+--------------------------------------------+
2 rows in set (0.00 sec)



如果设置了NO_ENGINE_SUBSTITUTION,建表时指定的存储引擎不存在,则会报错,无法创建表。

mysql> set sql_mode='NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.01 sec)

mysql> create table t1(a int) engine=abc;
ERROR 1286 (42000): Unknown storage engine 'abc'



建议SQL_MODE设置NO_ENGINE_SUBSTITUTION,可以尽早发现问题。避免表使用了不符合要求的存储引擎。

相关文章

log_queries_not_using_indexes参数设置

log_queries_not_using_indexes参数设置

【现象】通过查看慢日志发现有如下信息: 如上慢日志里出现较多 'index not used' warning(s) suppressed 信息;该信息主要是因为开启 log_queries_not_...

SQLServer执行计划

SQLServer执行计划

一、执行计划概览RDS SQLServer 执行计划可以在性能分析中查看,也可以在登陆数据库后查看执行计划。(1)在 DMS 登陆数据库后查看,情况如下: 具体执行计划内容如下: (2)在性能分析中找...

CDP实操--HDFS角色迁移

CDP实操--HDFS角色迁移

    hdfs角色迁移功能在cdp页面中就可以实现该功能,迁移的时间与namenode元数据大小,以及block数量多少有关,注意迁移过程中集群需要关闭,要预留出操作时间窗口。1、页面选择迁移角色2...

记一次zkfc故障问题定位

记一次zkfc故障问题定位

问题现象:    zkfc进程频繁告警问题分析:    1.查看zkfc日志显示如下,大量的与zk连接超时的信息,达到一...

MySQL运维实战(4.6) SQL_MODE之NO_BACKSLASH_ESCAPES

设置NO_BACKSLASH_ESCAPES后,反斜杠(\)不作为转义符。不设置NO_BACKSLASH_ESCAPES时,反斜杠(\)用来转义后一个字符mysql> create&n...

MySQL性能优化(二)优化排序操作

MySQL性能优化(二)优化排序操作

排序是数据库的基本功能。一个例子SELECT * FROM audit_log  WHERE user_id = xxx AND&nb...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。