最近因为电脑重装了系统,导致自己原本的数据库呗覆盖,需要重新重新安装数据库,但是由于我之前数据库版本是mysql 5.0.22,版本太低,所以小编决定安装mysql 5.7.23版本的,一开始没什么问题,根据之前的安装路径安装成功后,接着配置了mysql的环境变量mysql_path,,然后在数据库编辑工具Navicat for MySQL打开后,进行了一个小小的数据库查询:select * from user;回车之后发现报错:[Err] 1146 - Table 'performance_schema.session_status' doesn't exist
之后通过百度一些博客,知道了原因:原来是自己的之前安装的数据库没有清空干净。有两个方法可以解决:
第一种(最直接的方法):把用户之前安装的数据库的所有数据清空后在重装后在数据库工具Navicat for MySQL在另行打开运行就没问题;(不建议用这种方法,因为用于有些数据库数据信息需要保留,除非用户原本的数据全部不需要了)
第二种(建议使用):首先根据你数据库的安装路径,如图:
输入cmd,回车后显示命令行,如图:
在命令行中输入:mysql_upgrade -u root -p --force,回车后会提示用户输入数据库密码,如图:
这时候回车会出现这两种情况:①数据库check is ok,如图:
这时候说明你的数据库已经重置成功并保存了相关数据。
但是也会出现这样的情况:②直接报错:Error occurred: Cannot select database.,如图所示:
这是因为什么呢?原来是因为用户在安装新版本的数据库时data文件下的ibdata1配置文件,与被覆盖的数据库的data文件下的ibdata1配置文件冲突了,如果之前的ibdata1配置文件没有丢失就直接复制粘贴到新安装的数据库路径下的data文件与ibdata1配置文件进行替换,但是小编这里由于之前的ibdata1配置文件已经丢失,那小编应该怎么办呢?后来看了一下mysql的官网提示,想到了一个新办法,那就是在my.ini配置文件中添加配置项:show_compatibility_56 = ON performance_schema,如图:
保存后重新运行数据库即可解决[ERR]1146报错。如图:
ps:这几种情况是小编实际中遇到的情况,可能会与其他人遇到的问题不同,希望大家可以技工更多更好地办法解决报错,欢迎大家积极留言。
本文属于原创;
分类:数据库;