验证指定的用户('mysql.infoschema'@'localhost')是否存在于mysql数据库中
SELECT User FROM mysql.user WHERE User = 'mysql.infoschema' AND Host = 'localhost';
如果用户不存在,可以使用以下命令创建该用户
CREATE USER 'mysql.infoschema'@'localhost';
如果用户已经存在,但没有必要的权限,则可以使用grant语句授予所需的权限
GRANT ALL PRIVILEGES ON *.* TO 'mysql.infoschema'@'localhost';
如果SQL语句要求对特定表具有SELECT权限,则可以使用以下命令
GRANT SELECT ON database_name.table_name TO 'mysql.infoschema'@'localhost';
# 查询db表的存储引擎是什么
SHOW TABLE STATUS LIKE 'db';
# 切换其他相关表的存储引擎
alter table mysql.user ENGINE=InnoDB;
alter table mysql.db ENGINE=InnoDB;
alter table mysql.tables_priv ENGINE=InnoDB;
alter table mysql.columns_priv ENGINE=InnoDB;
alter table mysql.procs_priv ENGINE=InnoDB;
alter table mysql.proxies_priv ENGINE=InnoDB;
切换引擎时可能会导致数据库重,所以以上每个引擎请单独执行。参与评论
手机查看
返回顶部