In Docker non funziona l'healthcheck di MariaDB: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
CREATE USER healthcheck@'127.0.0.1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@'127.0.0.1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@'::1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@'::1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@'127.0.0.1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@localhost IDENTIFIED BY 'healthCheckConnectPassEscaped';


QUIT
QUIT
Line 31: Line 31:


* Ora funziona:
* Ora funziona:
 
healthcheck.sh --connect --innodb_initialized
healthcheck.sh --connect --innodb_initialized


== Riferimenti ==
== Riferimenti ==

Latest revision as of 12:45, 9 December 2025

Se l'healthcheck non funziona e se si prova da shell del container, e à errore:

healthcheck.sh --connect --innodb_initialized

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Il problema è che il database è stato creato con una vecchia versione di mysql o mariadb, e non ha la configurazione corretta per eseguire il check.

In particolare, manca l'utente mariadb healthcheck ed il file di configurazione ..my-healthcheck.cnf da cui lo script legge i datio di autenticazione.

  • Creare gli user:
mariadb -u root -p$MARIADB_ROOT_PASSWORD

CREATE USER healthcheck@'127.0.0.1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@'::1' IDENTIFIED BY 'healthCheckConnectPassEscaped';
CREATE USER healthcheck@localhost IDENTIFIED BY 'healthCheckConnectPassEscaped';

QUIT
  • Creare il config file:
cat > /var/lib/mysql/.my-healthcheck.cnf <<EOFile
[mariadb-client]
port=3306
socket=/run/mysqld/mysqld.sock
user=healthcheck
password=healthCheckConnectPassEscaped
EOFile
  • Ora funziona:
healthcheck.sh --connect --innodb_initialized

Riferimenti