Articles of innodb

限制MySQL用户的空间

我维护一个MySQL服务器。 有一个用户的数据库大小非常迅速地增长。 由于他使用的是InnoDB,因此/ data / mysql / ibdata1文件已经成熟。 我可以挂载一个小分区,把他的数据库,但ibdata1文件似乎是共享的所有数据库。 我所关心的是如何限制特定用户使用比为他定义的更多的数据库空间。

MySQL长时间等待信号

MySQL服务器昨天在这里坠毁,我不知道为什么(最恼人的崩溃)。 错误日志充满了信号量等待,但我不知道如何解释它的大部分( <path> = /export/home/pb2/build/sb_0-3159149-1301580870.56/mysql-5.5.11/storage/innobase/ ,取而代之以保持某种简洁)。 在这些错误期间,负载,CPU和内存消耗可以忽略/正常: InnoDB: Warning: a long semaphore wait: –Thread 140054029002496 has waited at <path>/btr/btr0sea.c line 631 for 241.00 seconds the semaphore: X-lock (wait_ex) on RW-latch at 0x78733f8 created in file <path>/btr/btr0sea.c line 182 a writer (thread id 140054029002496) has reserved it in mode wait exclusive number of readers 1, waiters […]

通过SHOW INNODB STATUS测量性能;

当查看mysql的SHOW INNODB STATUS的输出时,最重要的值是什么,以及什么是性能不佳的指标? 具体在FILE I / O和BUFFER POOL和MEMORY下。 数据库服务器是: High-CPU Medium Instance 1.7 GB of memory 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each) 350 GB of instance storage 32-bit platform I/O Performance: Moderate API name: c1.medium 这是一个跟进: Mysql InnoDB表大小的性能

MySQL:查看读/写比例,每个特定的表

我正在优化MySQL服务器的configuration,只运行溴。 这不是特定于应用程序,只是注意完整性。 我试图确定是否从MyISAM切换到InnoDB是一个更好的select,在less数写主导表。 这些表占据了服务器的大部分写入,但也是所有查询的最高百分比。 我不想制作InnoDB的所有表,尽pipe这次可以节省我的时间。 我更喜欢MyISAM。 InnoDB有它自己的优势,这对于这些写出大量的具体表格是有意义的。 我知道如何查看MySQL实例的读/写统计信息,并运行所有推荐的分析脚本。 我清楚地想知道,我如何看待特定表上的读/写统计信息? 如果有相关经验的人有推荐的数据可供参考。 我将不胜感激。 更新:我在Bromine论坛发布了关于这个问题,他们让我知道哪些表是写重。 这并不是真的回答这个问题,无论如何我都想知道。 只是为了完整性,这是我的表/引擎 Name Engine QRTZ_BLOB_TRIGGERS MyISAM QRTZ_CALENDARS MyISAM QRTZ_CRON_TRIGGERS MyISAM QRTZ_FIRED_TRIGGERS MyISAM QRTZ_JOB_DETAILS MyISAM QRTZ_JOB_LISTENERS MyISAM QRTZ_LOCKS MyISAM QRTZ_PAUSED_TRIGGER_GRPS MyISAM QRTZ_SCHEDULER_STATE MyISAM QRTZ_SIMPLE_TRIGGERS MyISAM QRTZ_TRIGGERS MyISAM QRTZ_TRIGGER_LISTENERS MyISAM activities InnoDB browsers MyISAM browsers_nodes MyISAM combinations MyISAM combinations_requirements MyISAM commands InnoDB configs MyISAM echelons […]

在Ubuntu 10.04中用LVM创build一个原始的InnoDB磁盘

我正在尝试为MySQL / InnoDB创build一个2TB原始分区,以用于我的一个LVM。 我创build了原始磁盘: 磁盘/ dev / mapper / g0-sql:2190.4 GB,2190433320960字节 255头,63个行业/轨道,266305个汽缸,总计4278190080个行业 单位= 1 * 512 = 512字节的扇区 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x00000000 然后将newraw命令添加到my.cnf中: innodb_data_home_dir = innodb_data_file_path中=的/ dev / DM-1:2000Gnewraw; 当我重新启动mysql,我得到一个权限被拒绝: 111204 14:43:43 [注]插件'FEDERATED'被禁用。 InnoDB:初始化缓冲池,大小= 68.0G InnoDB:完成缓冲池的初始化 InnoDB:文件操作中的操作系统错误13号。 InnoDB:错误意味着mysqld没有访问权限 InnoDB:目录。 InnoDB:文件名/ dev / dm-1 InnoDB:文件操作调用:“打开”。 InnoDB:无法继续运行。 我认为这是Apparmor,所以我将以下内容添加到/etc/apparmor.d/usr.sbin.mysqld: / dev / dm-1 / r, […]

MySQL中的VMWare Ubuntu 11.10 64位,configuration

任何人都可以build议我正在做的最佳设置? (注意,这是一个单独的工作,在完成我的代码之后,我将把它放回到开发环境。) 我正在设置一个64位的Ubuntu 11.10虚拟机,拥有4个内核和16GB内存。 我要将15MM +行导入到一个表中,并在保存时,Python / Django代码将触发第二个表的查找,并从第二个表中提取一些字段并更新大表。 这项工作已经失败了一次,因为我试图在一个短的import15MM +。 所以我把这个文件分解成了16个文件。 导入完成后,会有一些过滤并从第一个表中导出。 数据库是InnoDB。 我不知道默认的my-large或者my-huge .cnf设置有多好,不确定它是否适合我。 先谢谢你!

从.ibd文件恢复innodb

我的网站几天前崩溃了。 托pipe公司说一些innodb数据库崩溃了。 他们发送了一个MySql数据文件夹。 我试图恢复数据库,但phpmyadmin只显示MyISAM表。 我用navicat检查了数据库。 当我点击innodb表,我得到这个错误表'xyz.wp_posts'不存在。 有无论如何解决这个在Windows上? 随意下载db: www.degisimanaliz.com/xyzdb.tar.gz 非常旧的备份: www.degisimanaliz.com/29_Ocak_Yedek_deganaliz.sql.gz

在启用InnoDB引擎的同时启用 – 插件'InnoDB'初始化函数返回错误

在现在的生产服务器中,我们只用MyIsam表运行,因此我们使用skip-innodb选项禁用了innodb引擎。 但是现在我们需要启用innodb引擎以创buildless量innodb表。 所以我们在my.cnf中注释了[#skip-innodb]选项并重新启动。 请通过下面的案例,并要求提供任何解决scheme或提示相同? 情况1:使用skip-innodb选项禁用innodb,“mysql> show engines”如下所示。 mysql> show engines; +————+———+—————————————————————-+————–+——+————+ | Engine | Support | Comment | Transactions | XA | Savepoints | +————+———+—————————————————————-+————–+——+————+ | InnoDB | NO | Supports transactions, row-level locking, and foreign keys | NULL | NULL | NULL | | MRG_MYISAM | YES | Collection of identical MyISAM tables | […]

大量的InnoDB表加上SHOW TABLE STATUS

我们在数据库中有数百个InnoDB表,我们使用phpMyAdmin来pipe理它们。 不幸的是,phpMyAdmin在SHOW TABLE STATUS列表时会执行一个SHOW TABLE STATUS查询,而这似乎深入到每个InnoDB表中以获得近似的行数。 这似乎locking了整个数据库,这意味着对这个(繁忙)数据库的所有其他查询都会排队,直到数据库达到最大用户数。 SHOW TABLE STATUS能否以合理的方式加速? 可以很容易地修改phpMyAdmin,不做一个完整的SHOW TABLE STATUS查询,或者至less不能一次locking整个数据库吗?

我怎样才能降低MySQL单页面读取?

我的innodb缓冲池大小是8GB,我的数据库是6GB的大小,但我看到这个: Innodb_buffer_pool_reads 263.5k – InnoDB无法从缓冲池满足的逻辑读取次数,必须进行单页读取。 随着硬件(i7,24GB内存,固态硬盘)和那么多的RAM可用为什么查询做“单页面读取? 我怎样才能减less这个数量的单页面读取?