Table 'performance_schema.session_variables' doesn't exist

本文详细介绍了如何通过mysql_upgrade命令和重启MySQL服务来解决MySQL运行时遇到的表不存在错误,确保数据库正常运行。
运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist
解决的方法是:
第一步:在管理员命令中输入:
mysql_upgrade -u root -p --force
第二步:重新启动mysql的服务:
net stop mysql
net start mysql

再次运行mysql,就解决了。

注意,两步缺一不可。

虽然给定引用主要围绕 'Table ‘performance_schema.session_variables’ doesn‘t exist' 错误,但可以借鉴其中思路来推测解决 'Table 'performance_schema.global_variables' doesn't exist' 错误的方法。 ### 可能的原因 该错误可能是由于在安装数据库或者使用数据时,不小心删除或重命名了 `mysql` 安装文件夹下 `data` 文件夹中的 `performance_schema` 文件夹,因为 `performance_schema` 是数据库本身的一个属性,它在安装数据库时自带,包含了一系列重要的表,若其被误操作,就可能导致相关表缺失的异常,就像 `performance_schema.session_variables` 表缺失情况类似 [^1][^2]。 ### 解决方法 #### 通用情况 可以尝试让 `mysql` 重新初始化这些库表,因为 `performance_schema` 是 `mysql` 的内置数据库,一般在安装时自动初始化好,当表缺失时,需要其他方式触发重新初始化。不过引用中未提及具体重新初始化的命令,通常可以通过重新安装 `mysql` 数据库来实现,但这可能会导致数据丢失,所以需要提前备份数据 [^4]。 #### Docker 环境 如果是在使用 Docker 运行 MySQL 容器时出现该错误,可参考解决 `performance_schema.session_variables` 表缺失的步骤: 1. 清除现有容器并重新运行: ```bash docker rm -f mysql docker run --restart=always -p 3306:3306 --name mysql -v /tmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:5.7.25 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-time-zone='+8:00' ``` 2. 检查日志,查看是否还存在其他问题 [^3]。 #### k8s 环境 若 `mysql` 是通过 k8s 部署的,可先找到 `mysql` 的 `pod` 所在机器,后续可能需要在该机器上进行进一步操作,如重新初始化数据库等,但具体操作引用未详细说明,可能需要根据实际情况结合 `k8s` 和 `mysql` 的相关知识进行处理 [^4]。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值