草庐IT

innodb_doublewrite

全部标签

MySQL InnoDB 数据库恢复

我必须恢复在MySQL5.0中无意中删除的数据库。通过检查备份文件,我似乎只有.FRM文件来保存数据库数据。谁能告诉我这是否是我从备份执行数据库恢复/导入所需的全部内容,还是我应该提供其他文件来完成此操作? 最佳答案 .frm文件不是数据文件,它们只是存储“数据字典信息”(参见MySQLmanual)。InnoDB将其数据存储在ib_logfile*文件中。这就是您进行备份/恢复所需要的。有关详细信息,请参阅here. 关于MySQLInnoDB数据库恢复,我们在StackOverflo

MySQL (InnoDB) : need to delete column, 和附带的外键约束和索引

这是我的表格:CREATETABLE`alums_alumphoto`(`id`int(11)NOTNULLauto_increment,`alum_id`int(11)NOTNULL,`photo_id`int(11)defaultNULL,`media_id`int(11)defaultNULL,`updated`datetimeNOTNULL,PRIMARYKEY(`id`),KEY`alums_alumphoto_alum_id`(`alum_id`),KEY`alums_alumphoto_photo_id`(`photo_id`),KEY`alums_alumphoto_m

mysql - InnoDB (MySQL 5.5.8) 是数十亿行的正确选择吗?

所以,我在MySQL中使用InnoDB存储引擎的一张表将包含数十亿行(可能没有限制插入多少行)。您能告诉我可以做哪些优化来帮助加快速度吗?因为已经有几百万行,它会开始变慢。当然,如果您建议使用其他东西。我唯一的选择是PostgreSQL和Sqlite3。但有人告诉我sqlite3不是一个好的选择。至于postgresql,我完全不知道它是怎么回事,因为我从来没有使用过它。不过我想,该表中至少每秒插入大约1000-1500次。 最佳答案 对您的问题的简单回答是肯定的,InnoDB将是数十亿行数据集的完美选择。有很多优化是可能的。最明显

mysql - 为什么在创建表后删除 django DATABASE_OPTIONS 的 "init_command set engine=INNODB"?

关于creatingyourdatabasetables的文档说:另一种选择是在创建表之前使用MySQLdb的init_command选项:DATABASE_OPTIONS={"init_command":"SETstorage_engine=INNODB",}Thissetsthedefaultstorageengineuponconnectingtothedatabase.Afteryourtableshavebeencreated,youshouldremovethisoptionasitaddsaquerythatisonlyneededduringtablecreationt

MySQL InnoDB SELECT...LIMIT 1 FOR UPDATE 与 UPDATE ...LIMIT 1

我在带有InnoDB引擎的MySQL中有一个表v_ext:-id:主键-代码:预生成的代码列表(比如随机生成1000个代码)-user_id:最初为NULL当用户购买商品时,他们会收到一个代码。我需要更新表以填充user_id列。我有两个选择:STARTTRANSACTION;SELECTidFROMv_extWHEREuser_idISNULLLIMIT1FORUPDATE;--returnid54forex.UPDATEv_extSETuser_id=xxxWHEREid=54;COMMIT;或UPDATEv_extSETuser_id=xxxWHEREuser_idISNULLL

mysql - 自然键 vs 代理键 innodb 外键

一个问题:我有2张table:ProductidINTnameVARCHAR(64)somethingTEXTelseINTentirelyBOOL和IngredientidINTnameVARCHAR(64)descriptionTEXT现在我也有一个链接表Products_Ingredientsproduct_idINTingredient_idINT对于我的多对多关系。现在产品和成分都将拥有唯一的名称。所以我可以使用名称作为自然键......但这会是个好主意吗?假设我有一个产品:PaintThinnerSupreme含成分:丁基硝基四环素将这些名称用作链接表中的复合键是个好主意吗

mysql - 从 InnoDB 中删除行非常慢

我有一个大约有mysql数据库。1TB的数据。表fuelinjection_stroke有大约。1.000.000.000行。DBID是主键,每次插入都会自动加一。我正在尝试使用一个非常简单的语句删除前1.000.000行:Deletefromfuelinjection_strokewhereDBID此查询在我专用的8核Xeon服务器(32GB内存,SAS存储)上花费了很长时间(>24小时)。是否可以加快该过程? 最佳答案 我相信你的table被锁住了。我遇到了同样的问题,发现可以非常快地删除10k条记录。因此,您可能想要编写简单的

mysql - 如何检查我的 InnoDB 设置?

是否有我可以执行的MySQL命令,它会显示诸如innodb_file_format之类的设置,或者我应该检查的配置文件?MySQL版本:5.5.32 最佳答案 showvariableslike'innodb%'; 关于mysql-如何检查我的InnoDB设置?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17977057/

mysql - 将 MySQL InnoDB 数据库移动到单独的驱动器

在我的MySQL安装中,我有一个InnoDB数据库,我知道它会变得非常大,所以我决定将它移动到它自己的磁盘上。我希望通过将文件移动到另一个磁盘然后创建符号链接(symboliclink)来做到这一点,但我遇到了错误!这是我所做的:1)在my.cnf中我设置了[mysqld]innodb_file_per_table(这行得通,我在数据库文件夹中每个.frm都有一个.ibd。)2)我已经用SHOWVARIABLESLIKE"have_symlink";检查了符号链接(symboliclink)是否正常(我知道文档说:SymlinksarefullysupportedonlyforMyIS

mysql - innodb_buffer_pool_size这个变量除了my.cnf还能从哪里访问?

我已经安装了MAMP并在我的Mac上安装了最新的phpMyAdmin。我没有my.cnf也没有my.ini文件。是的,我已启用所有不可见文件。我听说免费版的MAMP不允许您使用,但这似乎不对。我知道MAMPPro有一个下拉菜单,但我不买它。这个文件还能叫什么?编辑:我使用grep在整个MAMP文件夹中搜索innodb_buffer_pool_size,并且唯一包含该变量的文件为其分配了一个数组,而不仅仅是一个简单的大小。只是为了让这个问题更完整。 最佳答案 您可以执行以下操作:MySQL5.0+SHOWVARIABLESLIKE'i