AWS RDS aurora Mysql 5.6无法使用与默认引擎不同的引擎创建表

时间:2018-07-05 12:49:00

标签: mysql amazon-web-services amazon-rds myisam amazon-rds-aurora

问题:无法在AURORA MySQL 5.6 RDS上使用MyISAM存储引擎创建表

配置:

我有RDSAurora MySQL 5.6.10a

default_storage_engine设置为InnoDB,并且无法修改(Modifiable = false)。

当我运行命令时

SHOW ENGINES

我收到:

+----------+---------+-------------------------+--------------+------+------------+
| Engine   | Support | Comment                 | Transactions | XA   | Savepoints |
+----------+---------+-------------------------+--------------+------+------------+
| 'MyISAM' | 'YES'   | 'MyISAM storage engine' | 'NO'         | 'NO' | 'NO'       |
+----------+---------+-------------------------+--------------+------+------------+

我的目标:

使用MyISAM搜索引擎创建表。

会发生什么:

当我尝试使用命令创建表时:

CREATE TABLE `myTable` (
  `myTableId` int(11) NOT NULL AUTO_INCREMENT,
  `latLong` point NOT NULL,
  `createdAt` datetime DEFAULT NULL,
  `updatedAt` datetime DEFAULT NULL,
  PRIMARY KEY (`myTableId`),
  SPATIAL KEY `point_storePoint_spatial_idx` (`latLong`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

我收到:

0 row(s) affected, 1 warning(s): 1266 Using storage engine InnoDB for table 'myTable' Records: 0  Duplicates: 0  Warnings: 1

应更改什么以允许创建所需的表? 预先感谢您的答复。

2 个答案:

答案 0 :(得分:2)

Aurora不支持MyISAM。如果绝对需要MyISAM,则可以尝试MySQL RDS,但应注意,这可能会影响数据恢复,时间点还原等方面的可用功能。

您可以使用默认(InnoDB)引擎在Aurora中创建空间索引。

编辑:https://aws.amazon.com/blogs/database/amazon-aurora-under-the-hood-indexing-geospatial-data-using-z-order-curves/上有一篇很好的文章讨论了Aurora地理空间索引,该索引声称其实现的性能比MySQL好10倍。

答案 1 :(得分:0)

问:“ MySQL兼容”是什么意思?

这意味着您今天已经在MySQL数据库中使用的大多数代码,应用程序,驱动程序和工具都可以与Aurora一起使用,而几乎不需要更改。 Amazon Aurora数据库引擎被设计为使用InnoDB存储引擎与MySQL 5.6有线兼容。某些MySQL功能(例如MyISAM存储引擎)不适用于Amazon Aurora。

有关更多信息,请阅读Aurora常见问题解答: https://aws.amazon.com/rds/aurora/faqs/