Solo como cuestión de interés, ¿por qué no quieres una contraseña?
John Gardeniers
Por ejemplo, me encuentro con errores cuando ejecuto "dpkg-reconfigure phpmyadmin". Se detiene con el error 1045 con acceso denegado root @ localhost "contraseña: no" terminando.
Lacek
Respuestas:
29
Personalmente, creo que es mejor establecer una contraseña y guardarla en /root/.my.cnf:
Primero:
mysqladmin -u root password 'asdfghjkl'
Luego edite el archivo raíz .my.cnf:
[client]
password = asdfghjkl
Asegúrate de hacerlo chmod 0600 .my.cnf.
Ahora tiene una contraseña pero ya no se le solicita. Mi instalación predeterminada del servidor MySQL es una contraseña única totalmente aleatoria para cada servidor MySQL, guardada en el archivo .my.cnf como este.
Estoy totalmente de acuerdo con la configuración de su entorno para autenticarlo automáticamente en lugar de eliminar la contraseña.
Zoredache
2
Es posible que necesite citas alrededor de esa contraseña en .my.cnf. No funcionó para mí sin.
user67641
1
@ user67641: Puede depender de la versión y de lo que hay en su contraseña ... Las mías son largas cadenas aleatorias de caracteres alfanuméricos (sin caracteres especiales) y no se necesitan comillas.
Freiheit
2
Si necesita crear /root/.my.cnf, vale la pena establecer explícitamente los permisos 0600 para asegurarse de que ningún otro usuario pueda espiar. La mayoría de las veces los usuarios normales no pueden descender a / root, pero la paranoia adicional casi siempre está justificada.
Dale Anderson
Missing mv ./+%Y%m%d. $ Db.sql $ OUTPUT` entre mysqldump y gzip
Siddharth
9
Si TIENES una contraseña establecida para MySQL, sigue las instrucciones en Recuperar contraseña de root de MySQL y luego configura tu contraseña como nula:
Para 5.7.6 y posterior
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
Para 5.7.5 y anteriores
update user set password=PASSWORD("") where User='root';
* necesita un reinicio de la base de datos (consulte las instrucciones en el enlace) para que esto surta efecto.
@meyosef: marque una respuesta como respondida si resolvió su problema (haga clic en la marca de verificación verde debajo del número de votos).
jneves
Pensé que podría usar una contraseña vacía solo para el socket Unix y no para el loopback, pero no es posible. El unix_socketcomplemento hace algo ligeramente diferente.
Cuenca
9
Sí, menos contraseñas pueden ser algo bueno. Pero no solo abra la base de datos para todos.
a través de unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
Esto le proporciona acceso mysql sin contraseña para un usuario root conectado localmente. Por cierto. Este es el valor predeterminado en las últimas versiones de Ubuntu / Debian.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
¡Bienvenido a SF! Encantadora primera respuesta: claro, un buen resumen, un enlace para una mayor exploración, y agrega algo al corpus de respuestas existente. Estoy encantado de ser tu primer voto a favor, y espero que te quedes para escribir más respuestas como esta.
Estoy bastante seguro de que, de forma predeterminada, no hay contraseña si es el usuario administrador y accede a ella localmente. ¿Estás encontrando algo diferente a eso?
Respuestas:
Personalmente, creo que es mejor establecer una contraseña y guardarla en /root/.my.cnf:
Primero:
Luego edite el archivo raíz .my.cnf:
Asegúrate de hacerlo
chmod 0600 .my.cnf
.Ahora tiene una contraseña pero ya no se le solicita. Mi instalación predeterminada del servidor MySQL es una contraseña única totalmente aleatoria para cada servidor MySQL, guardada en el archivo .my.cnf como este.
fuente
mv ./+%Y%m%d
. $ Db.sql $ OUTPUT` entre mysqldump y gzipSi TIENES una contraseña establecida para MySQL, sigue las instrucciones en Recuperar contraseña de root de MySQL y luego configura tu contraseña como nula:
Para 5.7.6 y posterior
Para 5.7.5 y anteriores
* necesita un reinicio de la base de datos (consulte las instrucciones en el enlace) para que esto surta efecto.
fuente
unix_socket
complemento hace algo ligeramente diferente.Sí, menos contraseñas pueden ser algo bueno. Pero no solo abra la base de datos para todos.
a través de unix_socket:
Esto le proporciona acceso mysql sin contraseña para un usuario root conectado localmente. Por cierto. Este es el valor predeterminado en las últimas versiones de Ubuntu / Debian.
Diapositivas explicativas: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .
fuente
También puedes hacer:
fuente
Estoy bastante seguro de que, de forma predeterminada, no hay contraseña si es el usuario administrador y accede a ella localmente. ¿Estás encontrando algo diferente a eso?
¿Esto funciona?
fuente