Can';部署kubernetes后,无法访问mysql根用户或用户
我有一个作为服务运行的nodejs应用程序,它需要访问作为另一个服务运行的mysql数据库(相同的命名空间) 我还有一个mysql文件,我将把它导入数据库 以下是我的工作流程:Can';部署kubernetes后,无法访问mysql根用户或用户,mysql,kubernetes,Mysql,Kubernetes,我有一个作为服务运行的nodejs应用程序,它需要访问作为另一个服务运行的mysql数据库(相同的命名空间) 我还有一个mysql文件,我将把它导入数据库 以下是我的工作流程: 设置一个包含根密码和新数据库凭据(db\u名称、db\u用户、db\u密码)的密码 使用SQL脚本设置ConfigMap以创建数据库结构 最后,使用pv/pvc部署mysql,下面是yaml文件内容: 因为我的nodejs应用程序不访问数据库,所以我想验证是否已经创建了新的数据库并导入了sql文件,运行kubect
kubectl exec
,然后运行mysql-u root-p
会给我带来以下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
在pod中,运行echo$MYSQL\u ROOT\u PASSWORD
或任何其他env变量返回正确的值
我做错了什么?通过编辑以下行解决了问题:
mountPath:/var/lib/mysql
我将其更改为
/mnt/data
,部署工作非常顺利。主机路径卷不是特别可靠的存储:如果pod在另一个节点上重新调度,它将丢失其存储,并且如果该主机目录中已经有数据(包括配置的用户和凭据)这就是数据库将使用的内容。我会选择不同的存储类型,或者让集群内provisioner自己创建PersistentVolume对象。@DavidMaze:我怀疑这与问题有关,但是我想了解更多关于这个问题的信息,如果您有任何文档链接,我将不胜感激。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)