解决MySQL容器启动时的错误:“table ‘performance_schema.session_variables‘ doesn‘t exist“

在使用Docker运行MySQL容器时,有时会遇到"table 'performance_schema.session_variables' doesn't exist"的错误。这通常是由于数据库初始化问题或配置错误引起的。以下是解决这个问题的步骤:

1. 清除现有容器并重新运行

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. 检查日志

查看MySQL容器的日志,以获取更多信息。

docker logs mysql

检查日志以确认是否存在有关数据库初始化、表创建或其他错误的信息。

3. 手动初始化数据库

连接到MySQL容器并手动运行数据库初始化命令。

docker exec -it mysql bash
mysql -u root -p
 

在MySQL命令行中运行以下命令: 

mysql_upgrade -u root -p

 然后退出MySQL命令行并重新启动容器。

 exit
docker restart mysql

 这确保了 mysql_upgrade 命令在终端中执行,而不是在MySQL提示符中执行。

 

4. 检查MySQL版本

确保你使用的MySQL版本支持相应的操作。在某些版本中,可能需要执行特定的操作来进行升级或初始化。

5. 考虑使用更高版本的MySQL镜像

如果可能的话,尝试使用更高版本的MySQL镜像,因为较新的版本可能包含修复了旧版本中问题的改进。

尝试这些方法,看看是否有助于解决你遇到的问题。如果问题仍然存在,请提供更多详细信息或日志,以便进一步帮助你找到解决方案。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值