我刚刚建立了我的第一个 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
我没有足够的声誉来评论那个问题并尝试获得更详细的答案,所以我创建了一个新的,我希望没关系。
有趣的是,它不会发生在我设置的另一个网站上,除了我在那个网站上导入示例数据外,其他网站完全相同。
最佳答案
假设您引用的 SO 帖子是正确的,以 root 身份或使用 Grant Options
的其他用户登录您的 mysql 服务器。然后为你的 magento 用户运行这个:
Grant CREATE TEMPORARY TABLES, CREATE VIEW, CREATE ROUTINE, Trigger on DBNAME.* to 'USERNAME'@'%';
刷新权限;
这将允许您的 magento 用户创建临时表等...
关于mysql - 尝试保存产品时出错 : SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863031/