GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo iniciar sesión como raíz en Mysql?

Instalé MySQL y durante la instalación me pidieron una contraseña que ingresé, pero ahora mi maestro dice que deberíamos poder iniciar sesión como root sin ninguna contraseña.

Esto funciona pero no tengo ningún privilegio:

Esto no funciona:

Esto tampoco

Respuesta aceptada:

Causa del problema

La configuración predeterminada para iniciar sesión como root usuario en MySQL 5.7 requiere el uso de un socket de autenticación. Esto se puede verificar consultando al user tabla:

mysql> select user,authentication_string,plugin from user where user='root';
+------+-----------------------+-------------+
| user | authentication_string | plugin      |
+------+-----------------------+-------------+
| root |                       | auth_socket |
+------+-----------------------+-------------+
1 row in set (0.00 sec)

De la documentación:

El complemento de socket comprueba si el nombre de usuario del socket (el nombre de usuario del sistema operativo
) coincide con el nombre de usuario de MySQL especificado por el programa cliente
para el servidor. Si los nombres no coinciden, el complemento verifica
si el nombre de usuario del socket coincide con el nombre especificado en la columna
autenticación_cadena de la fila de la tabla del sistema mysql.user. Si se encuentra una coincidencia
, el complemento permite la conexión.

En otras palabras, mysql por defecto no tiene configurada una contraseña de root; debe ejecutar phpMyAdmin como root o a través de sudo (ambas son malas ideas por razones de seguridad), o cambia el método de autenticación y restablece la contraseña raíz como se muestra en el tutorial de Digital Ocean.

Tenga en cuenta que, aparte del mismo nombre, los usuarios de MySQL y los usuarios del sistema no son lo mismo. Puede tener un usuario de MySQL jdoe y no tiene tal usuario en el sistema anfitrión. Por lo tanto, root es el usuario raíz de MySQL, no el usuario del sistema.

Pasos para cambiar el complemento y la contraseña:

  1. abra la terminal y ejecute sudo mysql -u root . Debería ver un mensaje de saludo y mysql> oportuno. Este es el shell de MySQL, que es diferente de su shell de línea de comandos, por lo que aquí solo se aceptan sentencias de SQL.

  2. Introduzca la siguiente secuencia de consultas SQL:

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql>  UPDATE user SET plugin='mysql_native_password',authentication_string=PASSWORD('newpassword') WHERE user = 'root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
  3. Salga e intente iniciar sesión:

    mysql> exit
    Bye
    
    $ sudo systemctl restart mysql
    $ sudo mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.7.21-1 (Debian)
    
    Copyright (c) 2000, 2018, 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> 
    

Si todo va bien, debería poder iniciar sesión desde phpMyAdmin con la nueva contraseña. Si algo sale mal, intente reiniciar el servidor sin verificar los permisos (ese es el paso número 3 en el tutorial de Digital Ocean). Para otros problemas, siéntase libre de hacer otra pregunta aquí o en Administradores de bases de datos – Stack Exchange

Relacionado:¿Crear archivos de REGISTRO al crear múltiples archivos de DATOS para tempdb?
Ubuntu
  1. Cómo restablecer la contraseña raíz de MySql

  2. Cómo restablecer la contraseña raíz de MySql

  3. Cómo restablecer la contraseña raíz de MySQL o MariaDB

  4. Cómo instalar MySQL en AlmaLinux 8

  5. Cómo instalar MySQL en Ubuntu 18.04 LTS

Cómo crear un usuario de base de datos MySQL en cPanel

Cómo eliminar un usuario de base de datos MySQL en cPanel

Cómo restablecer la contraseña de root olvidada en Ubuntu

Cómo restablecer la contraseña de root de MySQL

Cómo abrir el administrador de archivos de Ubuntu como usuario root

Cómo limitar el usuario root en CentOS