我的openshift数据库崩溃了,现在mysql应用程序不能再启动了。容器现在尝试在循环中创建一个pod。但每次登录失败时:
版本:“5.7.16”套接字:“/tmp/mysql.sock”端口:0 mysql社区服务器(gpl)
2018-01-06t11:02:10.843097z 2[注]拒绝用户'unknown\u user'@'localhost'访问(使用密码:否)--->11:02:10 mysql启动成功---->11:02:10设置密码。。。
2018-01-06t11:02:10.864906z 3[注]拒绝用户'root'@'localhost'访问(使用密码:否)错误1045(28000):拒绝用户'root'@'localhost'访问(使用密码:否)
在安装过程中,我用mysql\u root\u password设置了一个root password值,但是当连接到mysql-u root时,我没有被要求输入密码。所以我不确定配置使用的是哪种密码。
我已经准备好在环境值上重置密码,但没有效果。
有没有一种方法可以连接到mysql配置,即使容器没有运行?
1条答案
按热度按时间zynd9foi1#
你可以跑了
oc debug
针对部署配置。这将启动示例的pod,但实际上并不启动数据库,而是在运行的容器中为shell留下一个命令提示符。请确保首先使用将现有示例缩小到0个副本oc scale
. 在使用类型为的持久卷时,这是必需的ReadWriteOnce
. 一旦你修复了任何东西,退出shell,然后缩小到1个副本。请注意,环境变量仅定义首次启动时设置的密码,之后它们的值无关紧要,但会记录使用的密码。如果已覆盖部署配置中的环境变量,则已丢失所用内容的记录,但数据库预期的密码不会更改。
另外,在数据库容器内部,能够连接到数据库而不需要密码对于mysql来说是正常的,因为在这种情况下,默认使用本地unix侦听器套接字。从吊舱外部连接仍然需要密码。