Permitir al usuario raíz de Linux el acceso a la raíz mysql sin contraseña

Permitir al usuario raíz de Linux el acceso a la raíz mysql sin contraseña

En cPanel, cuando inicio sesión como root y escribo "mysql" sin nombre de host ni contraseña, me da acceso directo al usuario root de mysql.

Me gustaría hacer esto para uno de mis servidores que no son de cpanel, donde el usuario raíz de Linux obtiene un inicio de sesión sin contraseña para el usuario raíz de MySQL de la misma manera que lo hace en cPanel.

Es posible ?

Respuesta1

La forma más sencilla de hacer esto es utilizar una sección de cliente del archivo ~/.my.cnf y agregar las credenciales allí.

[client]
user=root
password=somepassword
...

También es una buena idea hacer que ese archivo sea legible solo por root.

Respuesta2

Para mysql 5.7+, si establece una contraseña vacía para la configuración inicial, mysql la utilizará automáticamente auth_socketcomo estrategia. Un intento de actualizar la contraseña sin cambiar la estrategia no tendrá ningún resultado. Siempre podrás iniciar sesión sin usar contraseña si tu usuario es root.

Solución Ejecute el siguiente comando para cambiar la estrategia de autenticación y establecer la contraseña

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''

referencia:https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/

Respuesta3

A partir de MySQL 5.6.6, puede utilizar mysql_config_editor para crear un archivo cifrado que iniciará sesión automáticamente:

mysql_config_editor set --login-path=client --host=localhost --user=root --password

Luego ingrese la contraseña cuando se le solicite.

Nota: si su contraseña tiene '#' y posiblemente otros caracteres, utilice comillas simples al ingresar la contraseña.

Respuesta4

Cree un archivo que solo contenga la contraseña de root de MySQL y que solo el root pueda leer.

# ls -l /root/.mysqlpw 
-rw------- 1 root root 7 2013-08-19 13:24 /root/.mysqlpw

Puede importar una base de datos con

# mysql -u root -p`cat /root/.mysqlpw ` yourdatabase < databasedump.sql

o conectarse a su base de datos y emitir comandos mysql

# mysql -u root -p`cat /root/.mysqlpw ` yourdatabase
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20460
Server version: 5.1.63-0ubuntu0.10.04.1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| yourdatabase       |
+--------------------+
3 rows in set (0.00 sec)

mysql> show tables;
...

información relacionada