相关疑难解决方法(0)

MySQL错误1449:指定为定义者的用户不存在

当我运行以下查询时,我收到一个错误:

SELECT
  `a`.`sl_id`                     AS `sl_id`,
  `a`.`quote_id`                  AS `quote_id`,
  `a`.`sl_date`                   AS `sl_date`,
  `a`.`sl_type`                   AS `sl_type`,
  `a`.`sl_status`                 AS `sl_status`,
  `b`.`client_id`                 AS `client_id`,
  `b`.`business`                  AS `business`,
  `b`.`affaire_type`              AS `affaire_type`,
  `b`.`quotation_date`            AS `quotation_date`,
  `b`.`total_sale_price_with_tax` AS `total_sale_price_with_tax`,
  `b`.`STATUS`                    AS `status`,
  `b`.`customer_name`             AS `customer_name`
FROM `tbl_supplier_list` `a`
  LEFT JOIN `view_quotes` `b`
    ON (`b`.`quote_id` = `a`.`quote_id`)
LIMIT 0, 30
Run Code Online (Sandbox Code Playgroud)

错误消息是:

#1449 - The user specified as a definer ('web2vi'@'%') does not exist
Run Code Online (Sandbox Code Playgroud)

为什么我会收到这个错误?我如何解决它?

mysql permissions

320
推荐指数
15
解决办法
44万
查看次数

错误(1142)使用mysqldump在session_variables表上拒绝SELECT命令

当我尝试运行时,mysqldump -u dump -p myschema > dumpfile.sql我收到此错误消息:

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

我找到了一些关于添加--set-gtid-purged=OFF类似错误的内容.但我没有mysqldump在较旧的MySQL数据库上运行MySQL 5.6版本.但是,当我尝试它时,我得到一个新的,但类似的错误:

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'ndbinfo\_version'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

我不确定为什么用户需要访问session_variables表,我认为是这样information_schema.SESSION_VARIABLES,因为这篇SO帖子说以下权限就足够了.

dump @ localhost的授权

 GRANT USAGE ON *.* TO 'dump'@'localhost'
 GRANT SELECT, LOCK TABLES ON mysql.* TO 'dump'@'localhost'
 GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump

18
推荐指数
1
解决办法
6189
查看次数

标签 统计

mysql ×2

mysqldump ×1

permissions ×1