#1 Le 18/09/2025, à 14:11
- abecidofugy

[Résolu] paramètre pour hôte MySQL connexion à la bdd avant commandes
Salut,
Voici mon script pour mettre à jour mes tables Nextcloud hébergé sur un serveur mutualisé chez Infomaniak :
#!/bin/bash
# Prompt for database credentials
read -p "Enter Database Name: " DB_NAME
read -p "Enter Username: " DB_USER
read -s -p "Enter Password: " DB_PASS
echo
# Execute all ALTER TABLE statements in one query
mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" -Bse "
SELECT CONCAT('ALTER TABLE \`', TABLE_NAME, '\` ROW_FORMAT=DYNAMIC;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '$DB_NAME'
AND ENGINE = 'InnoDB'
" | mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME"Quand je le lance, par sh efface.sh, j’ai ce retour dans le terminal :
Enter Database Name: 8n37i_clouder
Enter Username: 8n37i_clouder
Enter Password:
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)J’ai demandé de l’aide à Infomaniak, ils m’ont répondu ça :
Il manque le paramètre pour l'hôte dans votre script avec l'option -h.
Il faut bien renseigner ça : 8n37i.myd.infomaniak.com
Il faut d'abord se connecter à l'instance mysql avant de lancer vos commandes.
Quelqu’un pour m’aider à corriger tout ça ? Je sèche, quand à moi.
Merci.
Dernière modification par abecidofugy (Le 18/09/2025, à 18:45)
Merci de respecter la netiquette avant tout. Les bots et agents IA sont déjà assez pénibles…
KDE neon avec Zen Browser en mode compact. Fais des rapports de bugs stp pour un meilleur avenir.
abecidofugy
Hors ligne
#2 Le 18/09/2025, à 14:46
- abecidofugy

Re : [Résolu] paramètre pour hôte MySQL connexion à la bdd avant commandes
Est-ce que vous validez cette propositon-là :
#!/bin/bash
# Prompt for database credentials
read -p "Enter Database Name: " DB_NAME
read -p "Enter Username: " DB_USER
read -s -p "Enter Password: " DB_PASS
echo
read -p "Enter Remote Database Host (e.g. 8n37i.myd.infomaniak.com): " DB_HOST
# Execute all ALTER TABLE statements in one query
mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" -Bse "
SELECT CONCAT('ALTER TABLE \`', TABLE_NAME, '\` ROW_FORMAT=DYNAMIC;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '$DB_NAME'
AND ENGINE = 'InnoDB'
" | mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME"Merci.
Merci de respecter la netiquette avant tout. Les bots et agents IA sont déjà assez pénibles…
KDE neon avec Zen Browser en mode compact. Fais des rapports de bugs stp pour un meilleur avenir.
abecidofugy
Hors ligne
#3 Le 18/09/2025, à 15:01
- krodelabestiole

Re : [Résolu] paramètre pour hôte MySQL connexion à la bdd avant commandes
oui, juste peut-être le echo en dessous de la ligne concernant l'hôte (dernière ligne après les entrées de variables).
si tu n'utilises ce script que dans ce contexte, tu peux aussi mettre ces variables en dur, en faisant attention de le protéger si il contient le mot de passe.
sinon, l'hôte n'est pas forcément remote : il peut s'agir de localhost chez un autre hébergeur (ou en local).
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#4 Le 18/09/2025, à 18:44
- abecidofugy

Re : [Résolu] paramètre pour hôte MySQL connexion à la bdd avant commandes
J’ai dû préciser les variables en dur, et c’est passé, finalement.
Merci encore, Tim !
Merci de respecter la netiquette avant tout. Les bots et agents IA sont déjà assez pénibles…
KDE neon avec Zen Browser en mode compact. Fais des rapports de bugs stp pour un meilleur avenir.
abecidofugy
Hors ligne