Articles of innodb

没有做任何更改,但MySQL InnoDB重载CPU

我还没有改变任何脚本或设置。 现在我的CPU负载至less高出4倍。 根据TOP,Mysqld占据了360%左右的CPU。 这是Debian,我正在运行一些MyISAM表,但大多数是InnoDB。 我已经validation了使用InnoDB的站点上线时负载变得很高。 即使在现在的夜晚,当总体负荷通常在1以下时,也有12个。我不知道哪里出了问题。 我没有改变任何东西。 我已经尝试完全重新启动机器。 我改变了我的innodb_log_file_size为2047M,而不是512M,负载没有明显的改善。 其他的my.cnf微调部分: key_buffer = 4000M max_allowed_packet = 32M thread_stack = 256K thread_cache_size = 192 myisam-recover = BACKUP max_connections = 10000 query_cache_limit = 1M query_cache_size = 256M innodb_buffer_pool_size=8G innodb_additional_mem_pool_size=20M sort_buffer=2M thread_concurrency=16 record_buffer=2M tmp_table_size=128M max_heap_table_size=128M table_cache=1024 innodb_log_file_size = 2047M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 2 innodb_file_per_table innodb_flush_method = O_DIRECT […]

在xtrabackup上有什么合理的价值?

Percona的xtrabackup实用程序有一个–throttle选项来减less备份作业的IO负载。 文档说传递的值是每秒读/写对的数量。 1000 /秒是现代硬件上合适的价值吗? 怎么样5? 我无法find这些值的任何有意义的参考框架。 作为参考 – 我正在读取和写入相同的驱动器arrays(10k SAS)。 –throttle = 20的55gb备份作业在大约一个小时内运行,在非高峰时段系统没有明显的压力。 但是我真的不知道这个油门是高还是低。

从master的原始备份恢复从属MySQL数据库会导致InnoDB表空间错误

我有一个主/从复制设置,我在超过7000个数据库中使用InnoDB和MyISAM表,我想从主复制到从复制复制。 两台服务器都运行Ubuntu 10.04.2 LTS(使用mysql-server 5.1.41-3ubuntu12软件包)。 最近我试图升级MySQL,希望能够解决一些新版本已经解决的bug – 所以我的奴隶现在是Ubuntu 10.10。 但是,问题似乎是一样的。 我不想打扰我的主人,所以我已经尝试了我的整个光盘的LVM快照,以便我可以通过rsync将我的数据和日志目录复制到我的奴隶: / var / lib / mysql:其中我的ibdata1和ib_logfile0,以及所有.ibd和.frm文件都存储在其中。 我用innodb_file_per_table,所以有很多的.idb文件。 / var / log / mysql:我在哪里保留所有的二进制日志 一旦复制,我重置权限: chown mysql.mysql /var/lib/mysql -R chown mysql.mysql /var/log/mysql -R 我从/ var / lib / mysql目录中删除master.info和relay-log.info文件。 (因为我的主人实际上是奴隶到另一个主人,某些表)。 然后我尝试在从机上启动mysql。 不久,我开始在/var/log/mysql.err中看到如下所示的许多错误: InnoDB:错误:数据字典中的表空间标识为150238 InnoDB:但是在文件./1_107789/email.ibd中是150747! 要么: InnoDB:错误:试图添加名为“./23_4377/link.ibd”的表空间148302 InnoDB:表空间的内存caching,但表空间 名称为“./1_68522/open.ibd”的InnoDB:148302已经存在于表空间中 InnoDB:内存caching! 然后每隔一段时间: 110207 13:55:45 InnoDB:线程2979265392中的断言失败../../../storage/innobase/fil/fil0fil.c line 603 […]

10GB + InnoDB表上的丢失索引需要4个多小时

这是我正在使用的表格: CREATE TABLE IF NOT EXISTS `checklist_answer` ( `id` varchar(36) NOT NULL, `created_by` varchar(36) NOT NULL, `date_created` datetime NOT NULL, `updated_by` varchar(36) NOT NULL, `date_updated` datetime NOT NULL, `deleted` int(11) NOT NULL, `checklistresponse_id` varchar(36) NOT NULL, `question_id` varchar(36) NOT NULL, `questionoption_id` varchar(36) DEFAULT NULL, `value` varchar(256) NOT NULL, `source` int(11) NOT NULL, `award_id` varchar(36) DEFAULT […]

这些用于OLTP的MySQL引擎有什么优点和缺点 – XtraDB,PBXT或TokuDB?

我在一个社交网站上工作,大概读/写分割为90/10。 试图决定一个MySQL引擎。 我感兴趣的是: XtraDB PBXT TokuDB 他们对我的用例有什么优点和缺点? 一些具体问题: PBXT使用基于日志的结构,避免了双重写入。 这听起来非常优雅,但我所看到的基准没有比XtraDB显示任何优势。 你有任何使用PBXT / XtraDB的经验吗? TokuDB的声音非常有趣。 但是我所看到的所有基准都是关于单线程批量插入 – 例如插入100M行。 这与OLTP不太相关。 在同时运行多个核心的情况下,大量并发线程写入和读取的性能如何呢? 任何人都尝试过?

innodb需要多less磁盘空间才能使用ALTER TABLE

我有一个大的InnoDB表,我想通过添加一个小列来改变。 我准备好等一会儿,但是我想知道ALTER TABLE命令在运行时会消耗多less磁盘空间? 我的磁盘上需要足够的空间来存放表格的两个完整副本吗?

MySQL:如何在生产数据库中将多个MyISAM表转换为InnoDB?

我们有一个完全由MyISAM表组成的生产数据库。 我们正在考虑将它们转换为InnoDB以获得更好的并发性和可靠性。 我可以在不closuresMySQL的情况下将myISAM表更改为InnoDB吗? 这里推荐的程序是什么? 这种转换需要多长时间? 所有的表格总大小约700MB 有相当多的表格。 有没有办法将ALTER TABLE一次应用到所有的MyISAM表格,而不是一个一个的去做? 任何我需要注意的陷阱? 谢谢

通过rsync传输InnoDB数据库

我们正在切换到一个新的RAIDarrays,需要将我们的MySQL InnoDB数据库复制到新的RAIDarrays,同时最大限度地减less停机时间(50GB的数据库)。 我知道在运行的MySQL数据库上使用rsync不会产生数据库的可用副本。 然而,我可以得到一个确切的副本,通过在运行的数据库上使用rsync,然后完全closuresmysqld,并运行一个最终的rsync? 在这种情况下是否有数据损坏的可能性,如果我确保mysql不运行最终的rsync运行?

MySQL 5.5 InnoDB = OFF?

我们用MySQL 5.5运行一个服务器。 95%的表被设置为InnoDB引擎。 然而,无论何时我在mysqld部分查看my.ini文件(使用MySQL Workbench),innodb都将被取消选中,并在下拉列表中selectOFF。 使用记事本查看时,我看不到这行添加到my.ini文件。 我应该检查这个设置并将其设置为ON,这样我们可以利用启用的innodb设置(缓冲区和日志文件等),或者这不重要吗?

检查从主站复制的MySQL从站状态的最佳方法是什么?

具体来说,我有一套InnoDB表,我们将这些表备份到MyISAM表中以提供全文search。 从属数据库通常落后于主数据库。 我正在寻找可用于跟踪滞后的诊断或命令的build议。 两台机器都在同一个networking上。 非常感谢。