Questions tagged «mysql»

与Magento的MySQL数据库相关的问题,例如,表架构,简单的SQL查询或数据库配置。对于有关Magento数据库访问层的问题,请使用其他标签,例如:eav,model,resource-model,collections,install-script。特别是对于有关SQL查询的问题,SQL标记也适用。

1
哪个MySQL Server为Magento提供了更好的性能
您将什么用作Magento的MySQL服务器? MySQL(Oracle) 佩尔科纳 其他(MariaDB) Percona为Magento大量使用的InnoDB存储提供了一系列改进,但是这些改进确实在运行Magento存储时有所作为。 如何提高性能(关于体系结构的通用方法,而不是有关设置诸如此类的特定变量的特定信息innodb_flush_log_at_trx_commit=2)。我知道NBS尝试了主-主复制,但这种情况不稳定。 我的主从复制确实遇到了很多问题,读取重定向到从属,因为复制数据存在一些延迟。 尽可能退出MySQL?(搜索为solr等)。


3
一些Magento表不是InnoDB,将所有表转换为InnoDB是否安全?
我正在使用AWS RDS只读副本。Magento的内存引擎表经常出现问题。对于备份和只读副本,RDS喜欢InnoDB。我可以安全地将所有表更改为InnoDB吗? 此外,我从AWS收到以下警告: 数据库实例magento-monin-prod-db包含尚未迁移到InnoDB的MyISAM表。这些表可能会影响您执行时间点还原的能力。考虑将这些表转换为InnoDB。请参考http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables 合理答案 仍对反馈感兴趣。如果接下来的24小时内没有发现任何问题,我将以此为答案。到目前为止,我在下面执行的步骤似乎是安全的。我最大的担心是Magento的Memory Engine表(以in_tmp结尾的表)及其对索引的影响。 这是我所做的: SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db' 对我来说,这主要是返回了临时索引表和magento模块表,因此没有太多要关注的关键核心表,也没有足够的表供我轻松地执行另一个alter table(如果有问题的话)。 对于返回的每个表,我执行: Alter table {table-name} ENGINE=InnoDB; 如果您的表都不是InnoDB,我很想尝试一下。但是,正如我之前说过的,我的实例上只有几个核心表需要修改。

2
执行cron时发生PDO异常:新闻稿队列发送失败(“字段列表”中的未知列“ main_table.data”)
处理新闻通讯队列时,cron作业失败。我调试了PDO调用,似乎Magento在这里混淆了各个字段。我不知道Magento(或Zend PDO)从何处选择字段,但看起来完全混淆了: Magento似乎无法获得客户的名字。最后选择是: SELECT eav_entity_type.* FROM eav_entity_type WHERE (eav_entity_type.entity_type_code='customer') DESCRIBE customer_eav_attribute DESCRIBE customer_eav_attribute_website 然后出现带有不存在的字段列表的选择: SELECT main_table.data, main_table.lifetime, main_table.expire, main_table.priority, additional_table.attribute_id, additional_table.is_visible, additional_table.input_filter, additional_table.multiline_count, additional_table.validate_rules, additional_table.is_system, additional_table.sort_order, additional_table.data_model, scope_table.website_id AS scope_website_id, scope_table.is_visible AS scope_is_visible, scope_table.multiline_count AS scope_multiline_count FROM eav_attribute AS main_table INNER JOIN customer_eav_attribute AS additional_table ON additional_table.attribute_id = main_table.attribute_id LEFT …

4
如何使用sql列出所有禁用的产品?
我需要使用MySQL查询列出所有禁用的产品。 我的数据库中有太多产品无法使用这样的功能(创建集合,加载它并对其进行循环):http : //www.srikanth.me/get-all-disabled-products-on-magento/
15 product  mysql  query 


1
违反完整性约束:1062键“ UNQ_SALES_FLAT_INVOICE_INCREMENT_ID”的重复条目
我正在帮助商家追踪某些付款交易失败(在繁重的订单日期间)的根本原因,该交易失败并出现以下错误 SQLSTATE [23000]:违反完整性约束:1062键“ UNQ_SALES_FLAT_INVOICE_INCREMENT_ID”的条目“ 51986”重复 该UNQ_SALES_FLAT_INVOICE_INCREMENT_ID指数是在一个独特的密钥increment_id在列sales_flat_invoice表。当我在该表中查找increment_id错误(51986)中提到的内容时,我发现其中已经有一张发票increment_id,并且该发票是由另一位客户下的订单。 我与此有关的2个问题 通常在Magento CE 1.9.0.1中的哪个位置创建发票ID? Magento CE 1.9.0.1库存中是否存在已知问题,且几乎同时发生的订单具有冲突的发票ID? 我认识到51986手段的增量ID 商店具有某种扩展名,用于更改已安装的增量ID,但是我想确保在沿这条路径走得太远之前没有已知的科学。

4
如何处理巨大的sales_flat_quote表-删除废弃的购物车垃圾
情况 在我们的magento数据库中,我们有三个表太大了。 sales_flat_quote_shipping_rate:3045MB sales_flat_quote_address:1688MB sales_flat_quote:1897MB 超过6GB的数据。 我找到了有关如何截断这些表的文章。本文只讲第三张桌子。 我不确定会被截断,因此我希望删除所有早于60天的数据。这篇文章谈到了1700万条记录-我们有20条!如果我是正确的话,删除这些记录将不会锁定该表,并且我目前正在测试安装中对其进行测试。这似乎可行,并且与网站没有太多冲突。 问题 我想知道是否也可以对其他两个表使用相同的查询? 我想知道这些表是干什么用的。
13 mysql  log  maintenance 

2
可以截断report_viewed_product_index
我正在阅读可以截断的表的列表(/programming/12205714/list-of-tables-to-safely-truncate-in-magento),但没有看到 report_viewed_product_index 该表很大,还原数据库需要很长时间。截断此数据或至少删除最旧的数据是否安全?

3
MySQL一直处于挂起状态(查询停留在发送数据上)
我有以下情况: 每周大约5次(与缓存清除,流量高峰等任何特定情况无关),某些查询停留在发送数据(show processlist)上: > SELECT `main_table`.`entity_id`, `main_table`.`level`, `main_table`.`path`, `main_table`.`position`, > `main_table`.`is_active`, `main_table`.`is_anchor`, > `main_table`.`name`, `url_rewrite`.`request_path` FROM > `catalog_category_flat_store_30` AS `main_table` > LEFT JOIN `core_url_rewrite` AS `url_rewrite` ON url_rewrite.category_id=main_table.entity_id AND > url_rewrite.is_system=1 AND url_rewrite.product_id IS NULL AND > url_rewrite.store_id='30' AND url_rewrite.id_path LIKE 'category/%' > WHERE (path LIKE '1/2/%') AND (main_table.store_id = …
10 mysql 

5
MySQL访问被拒绝错误
我有一个常见的问题,但是通常的解决方案都无法正常工作,因此对于首次出现的问题表示歉意。 尝试在本地查看我的网站时出现以下错误 Access denied for user 'sitename'@'localhost' (using password: YES) 凭据使用有误,但我不知道它们来自何处。我已经检查了app / etc / local.xml,它具有所有正确的凭据。我已经从目录(config.xml除外)中删除了所有其他xml文件。我已删除var文件夹的内容(无数次) 我在本地工作其他magento网站,因此服务器设置应该可以。我真的为此感到困惑,不知道下一步该怎么做。任何帮助,将不胜感激。
9 database  error  mysql 

2
enterprise_refresh_index休眠MySQL连接
有时,由cron运行的索引器似乎卡在了MySQL上,因为可以看到Sleeping连接。索引器运行了几个小时,实际上根本没有运行。我已经搜索过了,但是找不到任何相关内容。任何人都可以照亮吗?可能是服务器配置还是Magento错误?


3
通过attribute_code查找attribute_id
我需要找到attribute_id的属性值image,small_image和thumbnail。我知道它们对于我的数据库-85、86和87,但是我需要使查询动态化,而不是使用硬编码的值。我遇到的困难是查找属性存储在哪个表中。我检查了,catalog_product_attribute但没有包含name/code属性的列。 我需要将它们作为SQL查询而不是Mage::...PHP代码来获取。示例SQL查询代码或任何其他指南将非常有帮助。

2
集合-过滤多个多选属性值
那不是错字。 我知道我需要使用'finset'来过滤我的多选属性;但是,我试图一次过滤多个值并得到: Incorrect parameter count in the call to native function 'FIND_IN_SET。 这是一些示例代码: foreach ($options as $option) { // $option[0] contains an attribute ID as a string $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($option[0]); if ($attribute->getFrontendInput() == 'multiselect') { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('finset' => $option[1])); } else { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('in' => $option[1])); } } 我在前端有一组字段,每个字段对应一个特定的属性,并包含每个属性值的复选框。根据这些提交的内容,集合应过滤掉已选择的内容。 除了我尝试同时过滤两个多选选项的单一情况外,其他所有功能都工作正常。如果我仅选择其中之一,则搜索将正常进行。如果选择两个或多个,则会出现上述MySQL错误。 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.