我的openshift数据库崩溃了,现在mysql应用程序已经不再启动了。容器现在尝试在循环中创建一个pod。但每次因登录问题而失败时:
durring instalation我已经使用MYSQL_ROOT_PASSWORD设置了root密码值,但是当连接到mysql -u root时,我没有要求输入密码。所以我不确定配置使用的密码类型。
我已经尝试在环境值上重置密码而不起作用。
即使容器没有运行,有没有办法连接到mysql配置?
答案 0 :(得分:1)
您可以针对部署配置运行oc debug
。这将启动实例的pod,但实际上并不启动数据库,而是在运行容器中为shell提供命令提示符。确保首先使用oc scale
将现有实例缩小到0个副本。在使用ReadWriteOnce
类型的持久卷时,这是必需的。一旦修复了任何东西,退出shell然后缩放回1副本。
请注意,环境变量仅定义首次启动时设置的密码,之后它们的值不重要,但会记录使用的内容。如果您在部署配置中覆盖了环境变量,那么您已丢失了所使用内容的记录,但数据库预期的密码不会更改。
此外,在数据库容器内部,能够连接到数据库而不需要密码,我觉得MySQL正常,因为在这种情况下默认使用本地UNIX侦听器套接字。从pod外部连接仍然需要密码。