相关疑难解决方法(0)

加速 MyISAM 到 InnoDB 的转换

我有一个 mysql 5.1 服务器,其中包含大约 450 个表的数据库,占用 4GB 。这些表中的绝大多数(除了 2 个)都是 MyIsam。这在大多数情况下都很好(不需要事务),但是应用程序一直在增加流量,并且某些表由于更新时的表锁定而受到影响。这就是现在有 2 个表是 InnoDB 的原因。

较小表(100k 行)上的转换根本不需要很长时间,从而导致最少的停机时间。然而,我的一些跟踪表接近 5000 万行。有没有办法ALTER TABLE...ENGINE InnoDB在大桌子上加速?如果没有,是否有其他方法可以最大限度地减少这些写入繁重表的停机时间?

mysql-5 storage-engine

15
推荐指数
2
解决办法
2830
查看次数

结合 InnoDB 和 MyISAM

可能的重复:
在同一台服务器上混合 InnoDB 和 MyISAM 表是常见的做法吗?

我在应用程序中有一个电影剪辑和照片表;这些表包含一个标签列,允许用户按标签搜索电影/照片;然而,整个数据库是使用 InnoDB 表设计的,专门用于数据完整性。

由于表不是 MyISAM,我不能使用全文功能(这很糟糕)。我正在考虑将这 2 个表更改为 MyISAM 表;然而,我在某处读到结合 MyISAM 和 InnoDB 表是一个非常糟糕的主意。

我真的很想在这些表上使用全文功能。

我的问题是这些:

  1. 组合这两个表真的是一个坏主意(性能方面,数据完整性方面等)吗?
  2. 是否有另一种方法可以在 InnoDB 表中实现相同的结果(使用全文功能获得的结果)?

mysql

7
推荐指数
1
解决办法
1011
查看次数

如何优化混合 InnoDB 和 MyISAM 表空间的 MySQL 服务器的 my.cnf?

我有一个数据库,由于一些问题,我需要将一些表从 MyISAM 转换为 InnoDB。

我基本上是这样做的:

set sql_log_bin = 0; 

set sql_mode = 'STRICT_ALL_TABLES';

ALTER TABLE  `table1` ENGINE = INNODB;

ALTER TABLE  `table2` ENGINE = INNODB;

ALTER TABLE  `table3` ENGINE = INNODB;

ALTER TABLE  `table4` ENGINE = INNODB;

ALTER TABLE  `table5` ENGINE = INNODB;

ALTER TABLE  `table6` ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)

它工作正常,但据我所知,我现在应该重新配置 my.cnf 然后重新启动 mysql 服务器,对吗?

如果服务器同时包含 MyISAM 和 InnoDB 表,我应该如何调整 my.cnf 文件?

mysql innodb myisam my.cnf

6
推荐指数
2
解决办法
3107
查看次数

标签 统计

mysql ×2

innodb ×1

my.cnf ×1

myisam ×1

mysql-5 ×1

storage-engine ×1