MySQL升级后Workbench无法连接:performance_schema表结构异常求助
解决MySQL Workbench连接日志问题&升级后表结构错误
嘿,我来帮你拆解这两个问题:先告诉你MySQL Workbench连接测试的日志在哪,再搞定那个让你连不上服务器的核心错误——毕竟performance_schema表结构不对才是连接失败的根源。
MySQL Workbench的连接测试日志位置
日志分**客户端(你本地Ubuntu的Workbench)和服务器端(EC2 Linux上的MySQL)**两种,都能帮你排查问题:
本地Ubuntu的Workbench客户端日志
- 最简单的方式:打开Workbench,点击顶部菜单栏的
Help→Show Log File,直接就能看到连接测试的所有日志内容。 - 如果你想直接找文件路径,Ubuntu下默认存在这里:
~/.mysql/workbench/logs/wb.log,用命令cat ~/.mysql/workbench/logs/wb.log就能查看。
EC2 Linux上的MySQL服务器端日志
如果连接请求已经到了服务器但被拒,服务器端的错误日志会有更详细的信息:
- 先找到MySQL的配置文件
my.cnf(通常在/etc/my.cnf或/etc/mysql/my.cnf),查看log_error参数的路径,一般是/var/log/mysqld.log或者/var/log/mysql/error.log。 - 用
tail -f /var/log/mysqld.log命令实时追踪最新的连接相关错误。
修复performance_schema.session_variables表结构错误
这个错误是因为你从MySQL 5.5升级到5.7后,没有正确执行系统表升级脚本导致的——5.7对performance_schema的表结构做了不少改动,必须手动更新:
先停止EC2上的MySQL服务:
sudo service mysqld stop(如果是systemd管理的系统,用
sudo systemctl stop mysqld)以安全升级模式启动MySQL:
sudo mysqld_safe --skip-grant-tables --skip-networking &执行MySQL升级脚本:
mysql_upgrade -u root -p输入你的MySQL root密码后,脚本会自动检查并修复所有系统表的结构,包括
performance_schema下的表。重启MySQL服务:
sudo service mysqld restart验证修复结果:
登录MySQL后执行以下SQL:USE performance_schema; DESC session_variables;如果能正常显示表结构,说明修复成功,这时再用MySQL Workbench连接服务器应该就没问题了。
内容的提问来源于stack exchange,提问作者Yaniv Peretz
相关产品推荐
相关产品推荐

