【问题标题】:How can I convert all InnoDB Tables to MyISAM?如何将所有 InnoDB 表转换为 MyISAM?
【发布时间】:2017-02-27 03:23:30
【问题描述】:

大家好,我正在寻找一种方法(sql 代码),我可以使用它在我的 WordpressDB 中将所有 InnoDB 转换为 MyISAM。

我现在的代码是:

SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=MyISAM;') FROM Information_schema.TABLES WHERE ENGINE = 'InnoDB'

这让我回来了:

ALTER TABLE db.wp_comments ENGINE=MyISAM;
ALTER TABLE db.wp_links ENGINE=MyISAM;
ALTER TABLE db.wp_options ENGINE=MyISAM;
ALTER TABLE db.wp_postmeta ENGINE=MyISAM;
ALTER TABLE db.wp_posts ENGINE=MyISAM;
ALTER TABLE db.wp_term_relationships ENGINE=MyISAM;
ALTER TABLE db.wp_term_taxonomy ENGINE=MyISAM;
ALTER TABLE db.wp_termmeta ENGINE=MyISAM;
ALTER TABLE db.wp_terms ENGINE=MyISAM;
ALTER TABLE db.wp_usermeta ENGINE=MyISAM;
ALTER TABLE db.wp_users ENGINE=MyISAM;

现在我想一次执行所有这些行 我想将所有结果保存在一个变量中并执行它们。但是一个 sql 变量只能保存一行......我现在如何只用普通的 sql 代码一次执行所有这些行?

提前致谢

P.S.:我可以使用“更新”来解决这个问题,因为更新可能会将引擎更新到 MyISAM?

【问题讨论】:

    标签: mysql sql innodb myisam


    【解决方案1】:

    刚刚测试了另一种(简单?)方式,并为我工作。

    只需将您的数据库导出为 .sql 文件,使用 gedit 或记事本进行编辑;

    将“ENGINE=INNODB”替换为“ENGINE=MyISAM”并保存编辑的文件

    完成的编号或替换应该是您的桌子的数量

    将其导入 MySQL(phpMyAdmin 或命令行)

    瞧!

    【讨论】:

      【解决方案2】:

      为什么? MyISAM 将在 MySQL 的下一个版本中消失。 MyISAM 效率较低、鲁棒性较差等。

      这是ALTERs的操作方法:

      1. 将更改语句生成到文件或屏幕中。 (你已经做到了。)

      2. 将它们复制(或输入)到 mysql 命令行工具中。

      3. 去喝杯咖啡。

      但要注意错误。

      【讨论】:

        【解决方案3】:

        备份Mysql数据库。 通过终端或在 phpmyadmin 中为您希望转换为 MISAM 的数据库运行此 sql 查询。

        mysql -u username -p -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=MYISAM;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'db_name' AND ENGINE = 'InnoDB' AND TABLE_TYPE = 'BASE TABLE'" | tail -n+2 >> alter.sql
        

        注意:将“db_name”更改为您的实际数据库名称

        将该 alter.sql 文件导入 INNODB 数据库

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-16
          • 2016-06-14
          • 1970-01-01
          • 2011-01-01
          • 2021-09-28
          • 2010-12-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多