问题
今天在部署一套基于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或者未卸载进行了重新安装导致的。