Articles of innodb

显示表格状态不显示innodb表

服务器重新启动后,我注意到,phpMyAdmin没有显示我的innodb表,只是myisam。 我直接login到mysql服务器,当show tables显示innodb表时,当我使用“从mydb显示表状态”inndb表不在那里。 任何他们突然没有显示的原因? 在重新启动之前。 此外,他们在“表格”中显示,但试图做一个select说,他们不存在。

MySQL不再使用指定的RAM

前几天我得到了一台运行CentOS 5.6 (64bit), with 12GB ddr3 ram, 4x SAS 15k rpm drives in RAID10的新机器CentOS 5.6 (64bit), with 12GB ddr3 ram, 4x SAS 15k rpm drives in RAID10 。 在这台机器上,我正在运行MySQL服务器版本: 5.1.39-maria-beta-ourdelta67-log ,我在以前的服务器上也使用过这个版本,结果很好。 这是我的my.cnf http://pastebin.com/kLfmbHSW 现在在今天早上,MySQL总是会使用我在my.cnf设置的指定RAM(大约是12GB的95%)。 在盯着MySQL之后,我会立即检查“顶部”,实际上95%的内存将被占用。 但现在,我重新启动MySQL后,我看到这一点,当我打“顶”。 Mem: 12289856k total, 1884924k used, 10404932k free, 39660k buffers 只有大约15%被使用。 这个数字有点慢,但之前总是用完所有的RAM。 什么可能导致这个? 更新:因为我重新启动MySQL,它已经慢慢地使用越来越多的内存,达到一个点,它占用了我所有的12GB,整个机器locking。 我必须重新启动Linux才能重新联机。 现在它又上了1.8GB,慢慢上升。 整个公羊pipe理似乎是坏的,因为它需要更多的内存,但从来没有冲洗它。 任何想法可能是什么原因造成的?

删除ibdata1文件后,表名引擎'InnoDB'未知

我有一个ibdata文件innodb。 我已经在my.cnf中更改了每个表(innodb_file_per_table)的ibd文件。 那么我在我所有的innodb表上运行以下查询来拥有自己的ibd文件 alter table tablename engine = innodb; 现在转换所有的表后,ibdata仍然有相同的大小,所以我已经删除它,并重新启动MySQL。 mysql已经创build了10MB的大小(在my.cnf中定义),但是现在的问题是我可以在显示表时正常看到所有的表。 但每当我想desc tablename或select*从表名我得到这个错误信息 mysql> desc人员; 错误1286(42000):未知表引擎'InnoDB' 而在展示引擎中,我无法在列表中看到innodb! 另外我试图删除ib_logfile0和ib_logfile1,我有另一个消息 错误1146(42S02):表'DBNAME.TableName'不存在 我知道我应该mysqldump和恢复,但是这是我做了:(有人有一个想法,如何删除ibdata1文件,并保持innodb引擎启用?谢谢

MySQL Innodb引擎消失了

由于我没有足够的空间,我必须将tmpdir目录从/ tmp更改为/ db / tmp /文件夹。 当我改变了我的路线,我跑了SHOW ENGINES; 我得到了低于结果; ARCHIVE MRG_MYISAM CSV MYISAM 记忆 但是,当我将目录改回/ tmp时,我的Innodb引擎又回来了。 SHOW ENGINES; ARCHIVE MRG_MYISAM CSV MYISAM 记忆 InnoDB的 有谁知道为什么MySQL是这样的奇怪吗? 这对我来说是一个阻碍,导致我的生产服务器崩溃。

临时MySQL错误:1286未知存储引擎'InnoDB'

我在运行MySQL 5.5.24的CentOS 5.8上运行一个cPanel / WHM服务器。 似乎在过去的一个星期左右,一些客户网站出现以下错误: SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown storage engine 'InnoDB' 起初,我认为这是cPanel / WHM服务器迁移到新机器后的configuration问题,但所有的configuration是正确的(没有, skip-innodb不存在;是的, SHOW ENGINES;确实返回InnoDB)。 长话短说,我发现所有我需要做的是service mysql restart ,错误立即消失。 一两个星期过去了,又回来了。 每一次,我所要做的就是重启MySQL服务器。 而要真正做到这一点,它只影响一些托pipe客户端,即使他们都共享相同的MySQL服务器。 如果这个问题已经在某个地方讨论过了,很难find – 这个错误信息很受欢迎,但重新启动修复程序似乎很less。 想法?

InnoDB不再可用

最近更换了服务器,从CentOS 5.8转到CentOS 6.4。 我在我的新服务器上安装了MySQL 5.1.69,并手动交换了/ var / lib / mysql。 我不确定我的旧服务器上有什么版本的MySQL,但预计它是一样的。 当我尝试查询一个表时,我得到以下内容: ERROR 1286 (42000): Unknown table engine 'InnoDB' 不使用InnoDB的表工作正常。 看起来我没有加载InnoDB。 我使用yum install mysql mysql-server来yum install mysql mysql-server 。 为什么InnoDB没有加载,我应该如何加载? 编辑: 也许我应该手动更改ib_logfile0以使文件大小相同? mysql> SHOW ENGINES; +————+———+———————————————————–+————–+——+————+ | Engine | Support | Comment | Transactions | XA | Savepoints | +————+———+———————————————————–+————–+——+————+ | MRG_MYISAM | YES | […]

MySQL(InnoDB) – 等待futex的进程

目前正在解决一个在futex系统调用中花费大量时间的MySQL服务器。 所有的数据库都是InnoDB,在我的16核心机器上看到了很高的负载,稍微超过一半的CPU时间在系统中。 在stream程上运行strace显示它花费了大量的时间在futex上 root@db1:~# strace -c -p 5026 Process 5026 attached ^CProcess 5026 detached % time seconds usecs/call calls errors syscall —— ———– ———– ——— ——— —————- 99.95 9.583778 3651 2625 897 futex 0.02 0.001987 86 23 poll 0.01 0.001349 337 4 pwrite 0.01 0.000702 351 2 access 0.01 0.000561 5 121 sendto 0.00 0.000410 […]

mysqld在任何语句上崩溃

我重新启动我的奴隶改变configuration设置跳过连接反向主机名查询和启用慢速查询日志。 我编辑/etc/my.cnf只做这些修改,然后用/etc/init.d/mysql restart重新启动mysqld 所有似乎都很好,但当我连接到远程或本地msyqld虽然它连接好的一个小问题是,当你试图发出任何一种语句mysqld崩溃。 客户端看起来像: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.1.31-1ubuntu2-log Type 'help;' or '\h' for help. Type […]

MySQL写密集设置,kjournald执行大量的I / O

我有一个MySQL(实际上,MariaDB 5.2)安装在Rackspacecloud 4Gb节点上。 所有的表都是InnoDB,InnoDB的缓冲池大小是2G,大部分时间是95%。 我使用ext3作为文件系统(不知道我是否可以在云节点上使用其他任何东西)。 我的应用程序做了很多写入两个统计表。 两个表都有一个auto_increment PK和一个唯一索引。 这些表格每10分钟由一个cron工作清理。 这个cron作业还会处理一些长时间运行的查询来处理原始统计信息。 问题是,我不时得到高I / O尖峰。 看起来它们与InnoDB事务日志中的一些未检查字节有关。 未检测字节的平均数是18.6M,但是当我看到这些尖峰时,它达到了80-90M。 不知道是什么原因在这里。 Iotop表明,当这些峰值发生时,kjournald是最佳performance者。 我用“数据=回写”选项重新安装了FS,但没有效果,仍然排在最前面。 我也尝试减lessswappiness并增加根设备的queue / nr_requests,但这也没有帮助。 我不知道下一步该怎么做。 我想知道为什么kjournald只在元数据被logging的情况下在FS上产生如此巨大的I / O负载。 我应该尝试调整提交间隔吗? 或者可能使用ionice?

CHECK TABLE在MySQL上locking一个大的(12GB)InnoDB表

我有一个大的MySQL InnoDB表的问题,我想知道如果有人在这里有提高稳定性的build议。 我遇到的问题是, CHECK TABLE … FAST会locking表格,阻止任何读取,而对于这个大的表格,这意味着它离线一个小时。 每当MySQL启动时,默认的Debian安装都会对所有的东西运行CHECK TABLE ,这会导致停机。 现在,我已经禁用了这个function,但是让我有点紧张,对这些系统设置感到厌倦。 我有另一个cronjob批量加载数据到正在使用ALTER TABLE … DISABLE KEYS和ALTER TABLE … ENABLE KEYS ,这可能是相关的,但我还没有能够确认。 有没有人看过CHECK TABLE阻止访问大型InnoDB表的情况?