如何连接到崩溃的openshift容器/ pod

时间:2018-01-06 11:25:29

标签: mysql crash openshift

我的openshift数据库崩溃了,现在mysql应用程序已经不再启动了。容器现在尝试在循环中创建一个pod。但每次因登录问题而失败时:

  • 版本:' 5.7.16' socket:' /tmp/mysql.sock'端口:0 MySQL 社区服务器(GPL)
  • 2018-01-06T11:02:10.843097Z 2 [注意]访问 拒绝用户' UNKNOWN_USER' @' localhost' (使用密码:否) ---> 11:02:10 MySQL启动成功 ---> 11:02:10设置密码......
  • 2018-01-06T11:02:10.864906Z 3 [注意]拒绝访问用户' root' @' localhost' (使用密码:否) ERROR 1045(28000):拒绝访问用户&root;' @' localhost' (使用 密码:否)

durring instalation我已经使用MYSQL_ROOT_PASSWORD设置了root密码值,但是当连接到mysql -u root时,我没有要求输入密码。所以我不确定配置使用的密码类型。

我已经尝试在环境值上重置密码而不起作用。

即使容器没有运行,有没有办法连接到mysql配置?

1 个答案:

答案 0 :(得分:1)

您可以针对部署配置运行oc debug。这将启动实例的pod,但实际上并不启动数据库,而是在运行容器中为shell提供命令提示符。确保首先使用oc scale将现有实例缩小到0个副本。在使用ReadWriteOnce类型的持久卷时,这是必需的。一旦修复了任何东西,退出shell然后缩放回1副本。

请注意,环境变量仅定义首次启动时设置的密码,之后它们的值不重要,但会记录使用的内容。如果您在部署配置中覆盖了环境变量,那么您已丢失了所使用内容的记录,但数据库预期的密码不会更改。

此外,在数据库容器内部,能够连接到数据库而不需要密码,我觉得MySQL正常,因为在这种情况下默认使用本地UNIX侦听器套接字。从pod外部连接仍然需要密码。