2025-02-14 7:43:29 3 [Warning] Access denied for user 'root'@'::1' (using password: NO)
从我的研究中,我了解到healthcheck.sh
创建了自己的用户,它并不是我传递给与Mariadb相关的容器的环境变量。为了解决这个问题,我创建了一个脚本
set_healthcheck_user.sh
以明确设置/etc/mysql/healthcheck.cnf
:的凭据。
#!/bin/bash
cat <<EOF > /etc/mysql/healthcheck.cnf
[client]
user=${MARIADB_USER}
password=${MARIADB_PASSWORD}
host=localhost
EOF
this往事工作,健康检查在没有警告的情况下成功。但是,我想知道是否有更好或更多的标准方法可以在不手动添加docker中配置MariadB健康检查。
where是我的healthcheck.cnf
文件的一部分,该文件与数据库服务有关docker-compose.yml
datadir(/var/lib/mysql)包含配置文件应存在于相当现代的容器中,因此不需要说明配置。 创建了Heatheck用户,因此它将独立于root用户。
如果您从较旧的datadir开始,则可以使用Mariadb_auto_upgrade = 1作为环境变量,如果缺少配置文件,将重新创建用户和配置文件。