Import base SQL via ssh et mot de passe caractères spéciaux
Fermémamiemando Messages postés 33435 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 décembre 2024 - 24 avril 2023 à 18:30
- Import base SQL via ssh et mot de passe caractères spéciaux
- Caractères spéciaux clavier azerty - Guide
- Identifiant et mot de passe - Guide
- Caractere speciaux - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
3 réponses
11 avril 2023 à 10:40
hello
essayer
ssh ***@*** 'gunzip < /home/nexcloud.sql.gz | mysql -u root -p nextcloud'
Modifié le 14 avril 2023 à 14:12
Bonjour
De manière générale c'est une mauvaise idée de passer un mot de passe en paramètre dans une commande. En effet, cela stocke le mot de passe dans l'historique du shell (en clair) et le rend visible lors de l'exécution dans la table des processus.
De plus, tu sembles indiquer que tu as des problèmes avec les caractères spéciaux.
Je t'invite donc plutôt à créer un fichier ~/.my.cnf dans lequel ton login et ton mot de passe seront stockés (sur la machine qui exécute la commande mysql, donc dans ton cas, sur la machine accédée en ssh, dans le home de l'utilisateur auquel tu te connectes) :
[client] user=mysqluser password=mysqlpass
... puis à d'attribuer à ce fichier des droits restreints :
chmod 600 ~/.my.cnf
Sinon, dans l'absolu, il faudrait que dans ta commande initiale tu échappes les caractères de ton mot de passe qui ont un sens en bash (notamment $, à réécrire en \$).
echo "mot$de$passe" # Écrit "mot" (en admettant que les variables de et passe n'existent pas) echo "mot\$de\$passe" # Écrit "mot$de$passe"
Bonne chance
Super, merci à vous deux et notamment à @mamiemando qui me dépanne une nouvelle fois.
Je vois aussi que l’installation sous Debian 11 ne permet plus à l’utilisateur SQL root de se connecter avec un mot de passe, mais seulement via la socket... Mon pb venait certainement aussi de là....
Le my.cnf devient alors :
[client]
user = root
socket = /run/mysqld/mysqld.sock
24 avril 2023 à 18:30
Je vois aussi que l’installation sous Debian 11 ne permet plus à l’utilisateur SQL root de se connecter avec un mot de passe, mais seulement via la socket
Merci pour cette précision et pour ton retour très positif. Effectivement, pour sécuriser un serveur de base de données, limiter la provenance des clients fait partie des points importants.
Bonne continuation