Al igual que otros ya se ha dicho que nunca se debe especificar una contraseña en la línea de comandos, ya que cualquier otro proceso en la máquina es capaz de leerlo. Una solución simple y efectiva para mysql es usar un archivo .my.cnf
en el directorio de inicio del usuario que ejecuta mysql o mysqldump.
cree por primera vez de una manera segura:
sudo touch /root/.my.cnf
sudo chown 0:0 /root/.my.cnf
sudo chmod 600 /root/.my.cnf
continuación, asegúrese de /root/.my.cnf
contiene algo como esto:
[mysql]
user=root
[email protected]$pr!nT
[mysqldump]
user=root
[email protected]$pr!nT
Usted puede y debe hacer esto para su (no root “normal”) cuenta de mysql también. Entonces nunca más tendrá que escribir su contraseña y aún así estar seguro. Simplemente ponga .my.cnf en su propio directorio de inicio con sus credenciales y asegúrese de que solo usted puede leer y escribir en el archivo:
touch ~/.my.cnf
chmod 600 /root/.my.cnf
Estoy tratando de acceder a la base de datos y no puedo obtener la contraseña para que funcione. Mi contraseña termina en un signo de admiración, así que he intentado colocar todo el comando -p entre comillas simples, pero sigo recibiendo el "Error 1045 (28000): Acceso denegado para el usuario 'admin' @ 'localhost' (usando la contraseña: SÍ)" – Lopsided