【问题标题】:mysql.infoschema@localhost does not existmysql.infoschema@localhost 不存在
【发布时间】:2019-07-01 02:44:04
【问题描述】:

指定为定义者的用户 ('mysql.infoschema@localhost') 不存在

请帮我解决这个问题,我尝试了很多绿色检查的解决方案,但仍然无法解决。 在我不小心更改了所有 mysql 用户密码,然后创建了新用户后,就会出现此问题。使用 mysql workbench 登录时,报错。

我试过了

  • mysql_upgrade [返回指定为定义者的用户('mysql.infoschema@localhost')不存在]

  • UPDATE mysql.proc [返回 proc 表不存在]

  • GRANT ALL [返回指定为定义者的用户('mysql.infoschema@localhost')不存在]

我无法导出、导入、检查表,因为它总是说指定为定义者的用户 ('mysql.infoschema@localhost') 不存在

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    这是因为你没有 'mysql.infoschema'@'localhost' 这样的用户。它用作 INFORMATION_SCHEMA 视图的 DEFINER。这是一个应该已经存在的默认用户。如果不是:

    documentation

    创建用户为

    create user 'mysql.infoschema'@'localhost' identified by 'password';

    并授予它权限

    grant all privileges on *.* to 'mysql.infoschema'@'localhost';
    

    【讨论】:

      【解决方案2】:

      我有同样的问题,我尝试了很多建议,但是当我探测修复数据库时,命令 mysql_upgrade 不起作用,尝试使用选项升级启动 mysql,像这样。

      mysqld --user=mysql --upgrade=FORCE
      

      为我工作!

      【讨论】:

        猜你喜欢
        • 2021-06-28
        • 2022-01-14
        • 2020-09-19
        • 2018-10-04
        • 2020-06-02
        • 1970-01-01
        • 2020-07-29
        • 2016-12-28
        • 1970-01-01
        相关资源
        最近更新 更多