尝试保存产品时出错:SQLSTATE [42000]:语法错误或访问冲突:1044用户拒绝访问

时间:2015-08-06 18:18:14

标签: mysql magento

我刚刚设置了我的第一个magento网站,在创建产品时,我收到以下错误:

SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user 'USERNAME'@'%' to database 'DBNAME',
query was:
CREATE TEMPORARY TABLE `catalogrule_product_price_tmp` ( `grouped_id` varchar(80) NULL COMMENT 'Grouped ID' , 
  `product_id` int UNSIGNED NULL COMMENT 'Product ID' , 
  `customer_group_id` smallint UNSIGNED NULL COMMENT 'Customer Group ID' ,
  `from_date` date NULL COMMENT 'From Date' , `to_date` date NULL COMMENT 'To Date' , 
  `action_amount` decimal(12,4) NULL COMMENT 'Action Amount' ,
  `action_operator` varchar(10) NULL COMMENT 'Action Operator' , 
  `action_stop` smallint NULL COMMENT 'Action Stop' , 
  `sort_order` int UNSIGNED NULL COMMENT 'Sort Order' , 
  `price` decimal(12,4) NULL COMMENT 'Product Price' , 
  `rule_product_id` int UNSIGNED NULL COMMENT 'Rule Product ID' , 
  `from_time` int UNSIGNED NULL default '0' COMMENT 'From Time' , 
  `to_time` int UNSIGNED NULL default '0' COMMENT 'To Time' , 
 INDEX `IDX_CATALOGRULE_PRODUCT_PRICE_TMP_GROUPED_ID` (`grouped_id`) ) COMMENT='CatalogRule Price Temporary Table' ENGINE=INNODB charset=utf8 COLLATE=utf8_general_ci

我不知道为什么会这样。类似的帖子似乎表明它可能是一个特权问题,但没有解释如何实现此修复。

grant_create_temporary_tables,grant_create_view,grant_create_routine,grant_trigger

Magento: SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user 'DBUSER'@'%' to database 'DBNAME'

我没有足够的声誉来评论这个问题,并试图得到一个更详细的答案,所以我创建了一个新的,我希望没关系。

有趣的是,在我设置的另一个网站上没有发生这种情况完全相同,只不过我在那个网站上导入了样本数据。

1 个答案:

答案 0 :(得分:2)

假设您引用的SO帖子是正确的,请以root用户或Grant Options的其他用户身份登录到您的mysql服务器。然后为你的magento用户运行:

Grant CREATE TEMPORARY TABLES, CREATE VIEW, CREATE ROUTINE, Trigger on DBNAME.* to 'USERNAME'@'%';

Flush privileges;

这将允许您的magento用户创建临时表等...