【MySQL】mysql连接 Table ‘performance_schema.session_variables’ doesn’t exist(转)

本文介绍了解决MySQL运行时提示“Table ‘performance_schema.session_variables’ doesn’t exist”的方法。通过使用mysql_upgrade工具并重启MySQL服务,可以有效解决此问题。

运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist

解决的方法是:

第一步:在管理员命令中输入:

mysql_upgrade -u root -p --force

第二步:重新启动mysql的服务:

net stop mysql
net start mysql

再次运行mysql,就解决了。

注意,两步缺一不可。

 

转载自:https://www.cnblogs.com/Zoya/p/5655089.html

<think>嗯,用户遇到了MySQL升级到5.7.8-rc后出现的错误:“Table 'performance_schema.session_variables' doesn't exist”。我需要帮他解决这个问题。首先,我应该回想一下MySQL升级过程中可能遇到的问题。根据引用[3],在升级到8.0时,可能会有表名冲突,需要重命名或删除。不过用户这里用的是5.7.8-rc,可能不是同样的问题,但可能涉及系统表的更新。 接着,用户提到错误是关于performance_schema.session_variables不存在。这可能是因为在升级后,performance_schema的数据库结构发生了变化,而相关的表没有被正确创建或更新。这时候可能需要运行mysql_upgrade工具来更新系统表。引用[3]中提到的升级策略可能需要执行这个步骤。 另外,用户可能没有正确运行mysql_upgrade,或者在升级过程中出现了中断,导致系统表没有完全更新。根据经验,mysql_upgrade会检查所有系统表,并应用必要的更改。因此,解决方案可能包括停止MySQL服务,运行mysql_upgrade,然后重新启动服务。同时,确保使用正确的MySQL版本对应的mysql_upgrade工具,这可能需要指定正确的路径或者使用绝对路径。 还有,需要检查performance_schema是否已启用。在MySQL配置文件中,如my.cnf或my.ini,应确保有performance_schema=ON的设置。如果该设置被禁用,可能导致相关表无法创建。此外,用户权限的问题也可能导致无法访问这些表,但错误提示是表不存在,而不是权限问题,所以更可能的是表未被正确创建。 可能还需要手动创建缺失的表,但通常不建议这样做,因为系统表的生成应由MySQL自身处理。更安全的做法是运行mysql_upgrade,或者重新初始化数据目录。如果问题仍然存在,可能需要备份数据,重新安装MySQL并恢复数据。 总结步骤应该是:1. 停止MySQL服务;2. 运行mysql_upgrade;3. 启动服务并验证。如果不行,可能需要检查配置文件,或者考虑更彻底的修复方法。</think>### 分步解决方案 **问题分析**:MySQL升级到5.7.8-rc后出现`performance_schema.session_variables`表缺失,通常是由于系统表未正确更新或`performance_schema`未初始化导致[^3]。 #### 步骤1:运行`mysql_upgrade`工具 1. **停止MySQL服务**: ```bash sudo systemctl stop mysql ``` 2. **执行升级脚本**: ```bash mysql_upgrade -u root -p ``` 输入密码后,工具会自动检查并修复系统表结构[^3]。 #### 步骤2:验证`performance_schema`状态 1. **检查配置文件**: 确保`my.cnf`或`my.ini`中包含以下配置: ```ini [mysqld] performance_schema=ON ``` 2. **重启MySQL服务**: ```bash sudo systemctl restart mysql ``` #### 步骤3:手动初始化(仅限极端情况) 若仍报错,可能需要重新生成系统表: 1. **备份数据**后停止服务。 2. **删除旧系统表**(谨慎操作): ```bash rm -rf /var/lib/mysql/performance_schema ``` 3. **重新初始化数据目录**: ```bash mysqld --initialize --user=mysql ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值