改变 TABLE table_name 引擎= / mysql_convert_table_format 哪个更好
ALTER TABLE table_name ENGINE= / mysql_convert_table_format WHICH IS BETTER
我在 MariaDB 中有大型 InnoDB 数据库(每个 > 1T)。我想把它们变成 MyISAM。我可以 google 2 种方法:
https://dev.mysql.com/doc/refman/5.0/en/mysql-convert-table-format.html
http://dev.mysql.com/doc/refman/5.6/en/converting-tables-to-innodb.html
第二个用于 InnoDB,但 arg 可以更改为 MyISAM。
哪个更有效(我已经安装了 mysql_convert_table_format 需要的 Perl 模块)?谢谢!
mysql-convert-table-format
只是一个使用 ALTER TABLE
完成工作的工具。它提供了一个很好的界面和帮助,但除此之外它没有做任何特别的事情。
您可以使用您喜欢的MySQL客户端程序连接到数据库并且运行:
ALTER TABLE table_name ENGINE='MyISAM'
更改table格式(mysql-convert-table-format
最终也是这样做的)。
警告!
在更改 table 格式期间,table 将被锁定,即其他查询无法访问。这可能会转化为您的网站没有响应、行为异常甚至离线。
其他选项
pt-online-schema-change
,Percona Tookit
的一部分,是一种工具,旨在更改大型 table 的 table 定义,同时保持在线状态。它创建一个具有新结构的新 table,然后智能地将数据从旧 table 分块复制到新 table。
我没试过,但我认为它可以帮助你。
我在 MariaDB 中有大型 InnoDB 数据库(每个 > 1T)。我想把它们变成 MyISAM。我可以 google 2 种方法:
https://dev.mysql.com/doc/refman/5.0/en/mysql-convert-table-format.html
http://dev.mysql.com/doc/refman/5.6/en/converting-tables-to-innodb.html
第二个用于 InnoDB,但 arg 可以更改为 MyISAM。
哪个更有效(我已经安装了 mysql_convert_table_format 需要的 Perl 模块)?谢谢!
mysql-convert-table-format
只是一个使用 ALTER TABLE
完成工作的工具。它提供了一个很好的界面和帮助,但除此之外它没有做任何特别的事情。
您可以使用您喜欢的MySQL客户端程序连接到数据库并且运行:
ALTER TABLE table_name ENGINE='MyISAM'
更改table格式(mysql-convert-table-format
最终也是这样做的)。
警告!
在更改 table 格式期间,table 将被锁定,即其他查询无法访问。这可能会转化为您的网站没有响应、行为异常甚至离线。
其他选项
pt-online-schema-change
,Percona Tookit
的一部分,是一种工具,旨在更改大型 table 的 table 定义,同时保持在线状态。它创建一个具有新结构的新 table,然后智能地将数据从旧 table 分块复制到新 table。
我没试过,但我认为它可以帮助你。