In Docker non funziona l'healthcheck di MariaDB: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| (2 intermediate revisions 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@ | CREATE USER healthcheck@localhost IDENTIFIED BY 'healthCheckConnectPassEscaped'; | ||
QUIT | QUIT | ||
| Line 21: | Line 21: | ||
* Creare il config file: | * Creare il config file: | ||
<pre> | <pre> | ||
cat > /var/lib/ | cat > /var/lib/mysql/.my-healthcheck.cnf <<EOFile | ||
[mariadb-client] | [mariadb-client] | ||
port=3306 | port=3306 | ||
| 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