ERROR 1356 (HY000): View 'information_schema. SCHEMATA'

Navicat 链接mysql 数据库报错,

使用mysql终端登陆 show 命令也报错

ERROR 1356 (HY000): View 'information_schema.COLUMNS' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

ERROR 1356 (HY000): View 'information_schema.SCHEMATA' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

报错信息是没有权限,隐约记得改过mysql.user 表的mysql.infoschema权限信息,改的哪个忘了,导致关机重新开机后报上述错误,information_schema库下面的所有视图不能访问

不知道mysql.infoschema的哪个权限跟information_schema的查询有关,以为是Show_view_priv,Show_db_priv,Process_priv影响的但是改完后仍报错,最后尝试修改Select_priv 能正常访问了

执行语句

use mysql;
select * from user where User ='mysql.infoschema';
update user set Select_priv = 'Y' where User = 'mysql.infoschema';
flush privileges;

 

  • 34
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
### 回答1: information_schema.schemata是MySQL数据库中的一个系统表,它包含了所有数据库的元数据信息,例如数据库名称、字符集、创建时间等。通过查询该表,可以获取到数据库的基本信息,方便进行数据库管理和维护。 ### 回答2: information_schema.schemata是MySQL中的系统表,其存储了MySQL服务器中所有数据库(schema)的元数据信息。元数据是描述数据的数据,包括数据库名、表名、列名、数据类型、约束等信息。 通过查询information_schema.schemata,可以获取所有数据库的元数据,包括数据库名(schema_name)、默认字符集(default_character_set_name)、默认排序规则(default_collation_name)等信息。 通常,查询schemata表的常用语句是: ``` SELECT schema_name, default_character_set_name, default_collation_name FROM information_schema.schemata; ``` 这条语句可以列出MySQL服务器中所有数据库的名称、默认字符集和默认排序规则。其中,schema_name列是必需的,而default_character_set_name和default_collation_name列则是可选的。 另外,通过information_schema.schemata表,还可以查询指定数据库中所有数据表的信息,例如: ``` SELECT table_name, table_type, engine, table_collation FROM information_schema.tables WHERE table_schema = 'database_name'; ``` 这条语句可以查询特定数据库中所有数据表的名称、类型、存储引擎和排序规则。 最后,需要注意的是,schemata表中并不包含所有数据库的信息,因为有些数据库可能是非常规的,例如performance_schema和mysql等系统数据库。如果需要查询这些数据库的信息,可以通过其他系统表实现,例如information_schema.tables和information_schema.columns等。 ### 回答3: information_schema.schemata是一个系统表,用于存储Mysql数据库中所有数据库的元数据信息。 该表列出了数据库的名称、描述、创建日期、默认字符集和校对规则等信息。这些信息可供用户或程序员检查和查询,以便更好地了解数据库的结构和内容。 使用该表,可以轻松地获取数据库名称,并查看其是否存在,从而更好地维护和管理数据库。例如,你可以使用该表来查找已删除但仍存储在系统中的数据库。 另外,通常情况下,程序员使用information_schema.schemata表得到数据库列表,这样可以自动化地遍历每个数据库并对其执行特定操作。这也是Web应用程序中更改或删除数据库有用的情况。 总之,information_schema.schemata是一个有用的数据库表,可用作Mysql数据库的元数据信息存储,并帮助用户、程序员和管理员更好地理解和控制数据库。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值