不能在数据库购物软件中创建客户



请帮帮我,在域名主机更改后,当我们想创建一个新客户时,我们在日志中得到这个错误。

开始:

{"time":"2022-11-25T08:21:27+00:00", "remote_addr":"149.143.40.237", "remote_user":"", "host":"www.hydroseals.nl", "request":"POST /account/register HTTP/2.0", "status":"500", "body_bytes_sent":"93913", "referer":"https://www.hydroseals.nl/account/login", "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "request_time":"0.406", "handler":"phpfpm", "country":"US", "server_name":"www.hydroseals.nl", "port":"443", "ssl_cipher":"TLS_AES_256_GCM_SHA384", "ssl_protocol":"TLSv1.3"}
事件:

[2022-11-25T08:23:11.598982+00:00] request.CRITICAL: Uncaught PHP Exception DoctrineDBALExceptionDriverException: "An exception occurred while executing 'INSERT INTO `customer_address` (`id`, `customer_id`, `country_id`, `salutation_id`, `first_name`, `last_name`, `zipcode`, `city`, `street`, `created_at`) VALUES ('G�Â?M»�h��"R','[�(F�L�v��*
                                                             e','���XM�@��i��>G�','9nL�vD:��#�-)3�','Tim','van Dijk','3911JB','Rhenen','Herenstraat 49A','2022-11-25 08:23:11.590');':  SQLSTATE[HY000]: General error: 1449 The user specified as a definer ('o9214241'@'%') does not exist" at /data/web/application/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 128 {"exception":"[object] (Doctrine\DBAL\Exception\DriverException(code: 0): An exception occurred while executing 'INSERT INTO `customer_address` (`id`, `customer_id`, `country_id`, `salutation_id`, `first_name`, `last_name`, `zipcode`, `city`, `street`, `created_at`) VALUES ('G�\0Â?M»�h��\"R','[�u0006(F�L��u0002v��*fe','��XM�@��u001di��>G�','9\0\nL�vD:��#�-)3�','Tim','van Dijk','3911JB','Rhenen','Herenstraat 49A','2022-11-25 08:23:11.590');':nnSQLSTATE[HY000]: General error: 1449 The user specified as a definer ('o9214241'@'%') does not exist at /data/web/application/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:128)n[previous exception] [object] (Doctrine\DBAL\Driver\PDO\Exception(code: HY000): SQLSTATE[HY000]: General error: 1449 The user specified as a definer ('o9214241'@'%') does not exist at /data/web/application/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18)n[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 1449 The user specified as a definer ('o9214241'@'%') does not exist at /data/web/application/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:55)"} []

有没有人有一个想法,因为现在我们不能在后端创建新客户,当然也不能在前端。

感谢pim

查看问题所在,找出问题所在。

但我无法解决它。

错误消息表明您的SQL权限有问题。这不是商店特有的错误,你应该调试你的MySQL设置,也许搜索SQL错误信息会给你更多的信息。

正如@j_elfering已经指出的,这不是Shopware的问题。如消息所示,指定为数据库定义器的用户不存在。

您可以将定义器更改为一个有效的用户:

UPDATE mysql.proc SET definer = 'existing_user@localhost' WHERE db = 'database_name';

另外:除了主机的更改之外,当使用简单的mysqldump从一个系统导出数据库并将其导入到另一个系统(例如开发人员的机器)时,通常也会发生这种情况。通常,原始定义器用户在目标系统上不可用,从而导致存储过程和视图出现错误。

有不同的方法可以在导入之前从转储文件中删除定义器。

我们通常使用GDPR转储创建这样的转储,它也有一个跳过定义器选项。

最新更新