Linux下Mysql提示“Table ‘mysql.servers‘ doesn‘t exist“错误

文章讲述了作者在部署Python程序时遇到MySQL5.7服务器servers表不存在的问题,尽管表实际存在。给出了两个常见解决方案,包括修复表和删除重建,问题源于安装过程中可能删除了data表。

问题
今天在部署一套基于python的程序,使用的mysql版本为5.7,我使用的是RPM安装包,安装完成后进入mysql命令控制台,不管输入 flush privileges 还是 输入创建表 等操作,提示Table ‘mysql.servers‘ doesn‘t exist“,随即通过show tables查看 是否有servers表存在,发现表其实是存在的。
网上搜索答案都是千篇一律,文章内容都完全一样,基本就是这个抄那个,没有可行的解决方案。
下面给出其他人给出的解决方案,但并未解决我的问题:
解决方案一,更新修复表:
更新修复表
use mysql;

source mysql_fix_privilege_tables.sql;

flush privileges;

解决方案二,创建表:
use mysql;
CREATE TABLE servers (
Server_name char(64) NOT NULL,
Host char(64) NOT NULL,
Db char(64) NOT NULL,
Username char(64) NOT NULL,
Password char(64) NOT NULL,
Port int(4) DEFAULT NULL,
Socket char(64) DEFAULT NULL,
Wrapper char(64) NOT NULL,
Owner char(64) NOT NULL,
PRIMARY KEY (Server_name)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

上面给出的解决方案大家可自行尝试,我的问题无法解决,原因在于我的servers表是存在的,所以这里我们先删除表再创建:
drop table if exists mysql.servers;

然后按照方案二生成表解决。

出现问题的原因:

我这里是因为mysql安装完成后删除了data数据表造成的,其他原因也有可能是升级了Mysql或者未卸载进行了重新安装导致的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火焰蔷薇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值