相关疑难解决方法(0)

如何安全地更改 MySQL innodb 变量“innodb_log_file_size”?

所以我对调整 InnoDB 还很陌生。我正在慢慢地将表(在必要时)从 MyIsam 更改为 InnoDB。我在 innodb 中有大约 100MB,所以我将innodb_buffer_pool_size变量增加到 128MB:

mysql> show variables like 'innodb_buffer%';
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| innodb_buffer_pool_size | 134217728 |
+-------------------------+-----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

当我去更改innodb_log_file_size值时(例如mysql 的 innodb 配置页面my.cnf注释将日志文件大小更改为缓冲区大小的 25%。所以现在我的 my.cnf 看起来像这样:

# innodb
innodb_buffer_pool_size = 128M
innodb_log_file_size = 32M
Run Code Online (Sandbox Code Playgroud)

当我重新启动服务器时,出现此错误:

110216 9:48:41 InnoDB:初始化缓冲池,大小 = 128.0M
110216 9:48:41 InnoDB:缓冲池初始化完成
InnoDB:错误:日志文件 ./ib_logfile0 的大小不同 0 5242880 字节
InnoDB:比指定的.cnf 文件 0 33554432 字节!
110216 9:48:41 [错误] …

mysql innodb myisam logs

113
推荐指数
3
解决办法
21万
查看次数

在具有 48GB RAM 的服务器上正确调整 30GB InnoDB 表

我有一个 30GB 15M 行的 InnoDB MySQL 5.5.15 表。它在具有许多其他 MyISAM 表 (300GB db) 的服务器上运行。该系统具有48GB RAM。除了默认配置之外,我还更改了以下值:

  • InnoDB 缓冲池到 10GB
  • 日志文件大小 5M

请注意,我key_buffer_size的 MyISAM 是 8GB,我还允许 Memcache 使用 8GB,并安装了 Redis(不确定他需要多少)。

我还应该尝试配置更多值吗?

mysql innodb myisam database-design configuration

5
推荐指数
1
解决办法
5061
查看次数

DB事务日志最好的存储设备是什么?

我正在将 MySQL 与 InnoDB 存储引擎一起使用。事务日志放置在专用硬盘上。atopsar由于大量的小 IO(每秒大约 50 次写入,每个 6Kb),HDD仍然显示出这个 HDD 的大负载(> 50%)。

设置innodb_flush_log_at_trx_commit为 2 解决了问题,现在平均加载 5%。但是,MySQL 文档说:

当值为 2 时,日志缓冲区会在每次提交时写入文件,但不会对其执行刷新到磁盘操作。但是,当值为 2 时,每秒也会刷新日志文件一次。

值为 2 时,只有操作系统崩溃或断电才能擦除最后一秒的事务。

因此,可能会丢失最后一秒的事务日志。

我没有为 DB 服务器进行硬配置的经验,因此想知道存在哪些现代解决方案并且最适合 DB 的事务日志,提供可靠性和高 IO 能力。

通过the best我的意思是不同的变种,但个人更喜欢性能/价格的最佳组合。无论如何,我认为在这里收集不同的变体会很棒。

我知道通常的答案是“使用 SSD”,但我知道它的存储原则不是事务日志的可靠解决方案,它应该相对较快地失败。乍一看,现代 SSD 的重写次数似乎足以运行多年。但是,据我所知,SSD 按块重写数据,例如,如果您想写入 1b 的数据,SSD 将重写整个块,可能是 4Kb。因此,对于 1 个事务日志重写电路,SSD 可能会多次重写其块。

在我看来,理想的存储设备将是电池+RAM+HDD的组合,并且尺寸相对较小(大约5Gb或更小)。在正常操作中仅使用 RAM,断电时会将所有数据刷新到 HDD。它应该在一个设备中,而不是软件解决方案。但是,我不知道它们是否存在。

mysql performance optimization transaction-log

5
推荐指数
1
解决办法
266
查看次数