Come altri già detto non si dovrebbe mai specificare una password sulla riga di comando in quanto qualsiasi altro processo sulla macchina è in grado di leggerlo. Una soluzione semplice ed efficace per mysql consiste nell'utilizzare un file .my.cnf
nella directory home dell'utente che esegue mysql o mysqldump.
Innanzitutto creare in modo sicuro:
sudo touch /root/.my.cnf
sudo chown 0:0 /root/.my.cnf
sudo chmod 600 /root/.my.cnf
quindi assicurarsi /root/.my.cnf
contiene qualcosa di simile:
[mysql]
user=root
[email protected]$pr!nT
[mysqldump]
user=root
[email protected]$pr!nT
Si può e deve fare questo per il tuo “normale” (non-root) anche l'account mysql. Quindi non dovrai mai digitare nuovamente la password e rimanere al sicuro. Inserisci un file .my.cnf nella tua home directory con le tue credenziali e assicurati che solo tu possa leggere e scrivere sul file:
touch ~/.my.cnf
chmod 600 /root/.my.cnf
fonte
2013-07-24 00:37:49
Sto provando solo ad accedere al database e non riesco a far funzionare la password. La mia password termina con un punto esclamativo quindi ho provato a inserire l'intero comando -p tra virgolette singole ma ottengo ancora "Errore 1045 (28000): Accesso negato per l'utente 'admin' @ 'localhost' (usando la password: YES)" – Lopsided