随着Oracle从MySQL Classic Edition中 拉取InnoDB引擎的消息,您现在需要使用MySQL Community Edition来免费获得InnoDB。 Oracle并没有真正地说明Community Edition和其他产品线之间的不同之处。
我有一张接近200万条logging的表格。 该表存储交易历史。 这是一个高stream量的网站,但也没有定期访问表。 由于这个表,我们目前没有缓慢的查询,但是我期望什么时候需要将数据从这个表迁移到数据存档方法。 该服务器是一个亚马逊EC2高CPU媒体盒。 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 Engine: InnoDB Version: 10 Row_format: Compact Rows: 1677878 Avg_row_length: 71 Data_length: 120209408 Max_data_length: 0 Index_length: 246497280 Data_free: […]
我最近经历了my.cnf的这个参数的值从以下经历的数据损坏: innodb_data_file_path = ibdata1:10M:autoextend:max:128M 至 : innodb_data_file_path = ibdata1:10M:autoextend:max:256M 我不完全确定,这是因为以前数据库空间不足的原因。 我的问题是,一旦空间已满,修改DB的最大大小是否安全?
最近的服务器惨败给我留下了一个完整的ibdata文件,但只有一半的.frm包含的目录。 我已经复制了所有这一切到一个新的MySQL安装,并成功地恢复了我仍然有.frm文件的数据库。 我的问题是 – 是否有可能以某种方式从ibdata文件重新生成.frm文件? 或者以某种方式修改相同数据库的开发版本中的.frm文件,以便它们可以用于恢复? 不幸的是,从备份恢复不是一个可行的select。 编辑澄清:我试图恢复数据库使用本地生成.frm文件包含相同的模式 – 没有骰子,即使在innodb_force_recovery = 1。
MySQL似乎经常崩溃,我会说每隔一小时左右。 在这个使用MySQL的服务器上运行的唯一的东西是我正在使用的Drupal安装,只有一个人在使用它,它的字面大约有三个页面 – 从我可以收集这似乎是一个内存问题InnoDB的? 我不擅长这个东西,所以我不确定。 任何指导? 这是我的error.log中的相关部分 140216 14:20:01 [Note] Plugin 'FEDERATED' is disabled. 140216 14:20:01 InnoDB: The InnoDB memory heap is disabled 140216 14:20:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins 140216 14:20:01 InnoDB: Compressed tables use zlib 1.2.3.4 140216 14:20:01 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(135987200 bytes) failed; errno […]
必须采取哪些步骤来确保默认configuration的InnoDB服务器真正符合ACID标准? InnoDBconfiguration页面提到硬件本身必须configuration为实现fsync调用,即禁用任何写回caching。 这个页面提到了一些其他的问题,但是可能会混淆二进制日志和InnoDB日志,并且可能会过时地关于MySQL 5.x的默认设置。 在阅读二进制日志文档页面时,似乎一般不需要“sync_binlog = 1”的设置,只有ACID属性需要与时间点恢复和复制。 那么,禁用写回磁盘caching是否足够,还是有其他设置必须调整?
服务器崩溃后,我们有一个特定的表引用一些非常奇怪的问题。 select从备份恢复数据库已被删除,并且加载了一个备份SQL转储,只有在创build表时发生cache_content错误“table already exists” mysql> create table cache_content( id int NOT NULL DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ERROR 1005 (HY000): Can't create table '****.cache_content' (errno: -1) mysql> drop table cache_content; ERROR 1051 (42S02): Unknown table 'cache_content' 奇怪的删除表,删除.frm而不是.ibd文件(如果存在),创build表将创build.ibd文件,但不是.frm文件。 我已经尝试了许多方法来恢复,包括将转储导入到一个新的数据库(完成没有问题),closuresmysql并复制相关的.frm和.ibd文件,然后使用idbconnect试图附加这个“已知的好”版本: … Space id: 1952673645 (0x74636F6D) Next record at offset: 74 TABLE_ID of `****/`.`cache_content` can not be […]
我正在尝试使用roundcube,最近刚爆发。 我不知道这是否是由于最近发生的MySQL更新,但在phpMyAdmin中,如果我尝试查看表格,则会出现以下错误: 1286 – Unknown storage engine 'InnoDB' 和 mysql> SHOW ENGINES; +——————–+———+—————————————————————-+————–+——+————+ | Engine | Support | Comment | Transactions | XA | Savepoints | +——————–+———+—————————————————————-+————–+——+————+ | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | […]
我有一个查询失败,因为我没有足够的临时空间。 于是,我在/data/tmp的另一个分区上创build了一个目录,将这个目录chmod编辑为777 ,并更新my.cnf来读取: tmpdir = /data/tmp 。 我能够顺利重启守护进程,并且在日志中没有报告错误。 这是重新启动守护进程时的所有日志显示: Mar 17 16:45:05 Casala-Dev-LX01 /etc/mysql/debian-start[3166]: Upgrading MySQL tables if necessary. Mar 17 16:45:05 Casala-Dev-LX01 /etc/mysql/debian-start[3169]: /usr/bin/mysql_upgrade: the '–basedir' option is always ignored Mar 17 16:45:05 Casala-Dev-LX01 /etc/mysql/debian-start[3169]: Looking for 'mysql' as: /usr/bin/mysql Mar 17 16:45:05 Casala-Dev-LX01 /etc/mysql/debian-start[3169]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Mar 17 16:45:05 Casala-Dev-LX01 […]
我有一个小vps,只有256MB的RAM,最大突发高达512MB。 当我没有innodbconfiguration我的VPS,它只使用130 MB的RAM,所以这对我来说没有问题。 但是当我打开innodb,内存使用增长到约300-400 MB。 是否有可能运行innodb这样我不会超过256MB? 最好我不想用超过100MB的innodb。 我已经遇到一些网站,说我可以限制内存使用,但如果我将其限制为只有100MB的数据库运行良好吗? (与例如MyISAM存储引擎相比) 如果100MB的innodb内存太less,你能推荐我的任何其他存储引擎支持交易?