O

O

Solía apt install mysql-server​​​​instalar MySQL en Ubuntu 16.04 pero durante la instalación no me pidió la contraseña de root.

Después de la instalación, recibí ERROR 1045cuando intenté iniciar sesión rooty mysql_secure_installationarrojé el mismo error. Luego reinstalé d purgey autoremoved pero no funciona.

¿Cómo podría solucionar esto? ¿Puedo configurar la contraseña de root si no la configuré durante la instalación?

Este es mi registro de instalación:

Se instalarán los siguientes paquetes adicionales:
  libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7
  servidor-mysql-core-5.7
Paquetes sugeridos:
  mailx tinyca
Se instalarán los siguientes paquetes NUEVOS:
  libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7
  servidor-mysql-core-5.7
0 actualizados, 6 recién instalados, 0 para eliminar y 0 no actualizados.
Necesita obtener 0 B/17,9 MB de archivos.
Después de esta operación, se utilizarán 160 MB de espacio adicional en disco.
¿Quieres continuar? [T/n] sí
Preconfigurando paquetes...
Seleccionando el paquete libaio1:amd64 no seleccionado previamente.
(Leyendo base de datos... 227144 archivos y directorios instalados actualmente).
Preparándose para descomprimir .../libaio1_0.3.110-2_amd64.deb ...
Desembalaje de libaio1:amd64 (0.3.110-2) ...
Seleccionando el paquete mysql-client-core-5.7 no seleccionado previamente.
Preparándose para descomprimir .../mysql-client-core-5.7_5.7.12-0ubuntu1_amd64.deb ...
Descomprimiendo mysql-client-core-5.7 (5.7.12-0ubuntu1) ...
Seleccionando el paquete mysql-client-5.7 no seleccionado previamente.
Preparándose para descomprimir .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Descomprimiendo mysql-client-5.7 (5.7.12-0ubuntu1) ...
Seleccionando el paquete mysql-server-core-5.7 no seleccionado previamente.
Preparándose para descomprimir .../mysql-server-core-5.7_5.7.12-0ubuntu1_amd64.deb ...
Descomprimiendo mysql-server-core-5.7 (5.7.12-0ubuntu1) ...
Seleccionando el paquete mysql-server-5.7 no seleccionado previamente.
Preparándose para descomprimir .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Descomprimiendo mysql-server-5.7 (5.7.12-0ubuntu1) ...
Seleccionando el paquete mysql-server no seleccionado previamente.
Preparándose para descomprimir .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Descomprimiendo el servidor mysql (5.7.12-0ubuntu1) ...
Activadores de procesamiento para libc-bin (2.23-0ubuntu3) ...
Activadores de procesamiento para man-db (2.7.5-1) ...
Activadores de procesamiento para systemd (229-4ubuntu4) ...
Activadores de procesamiento para ureadahead (0.100.0-19) ...
Configurando libaio1:amd64 (0.3.110-2) ...
Configurando mysql-client-core-5.7 (5.7.12-0ubuntu1)...
Configurando mysql-client-5.7 (5.7.12-0ubuntu1)...
Configurando mysql-server-core-5.7 (5.7.12-0ubuntu1)...
Configurando mysql-server-5.7 (5.7.12-0ubuntu1)...
alternativas de actualización: uso de /etc/mysql/mysql.cnf para proporcionar /etc/mysql/my.cnf (my.cnf) en modo automático
Comprobando si es necesaria una actualización.
Esta instalación de MySQL ya está actualizada a 5.7.12, use --force si aún necesita ejecutar mysql_upgrade
Configurando el servidor mysql (5.7.12-0ubuntu1) ...
Activadores de procesamiento para libc-bin (2.23-0ubuntu3) ...

Respuesta1

Puede recuperar o establecer la contraseña de root sin conocer la actual iniciando mysql sin cargar las tablas de concesión.

Por favor tenga en cuenta el$en los comandos. Esto especifica el mensaje de terminal que ve al escribir el comando. Muestra que es una línea de texto, pero un comando de terminal realmente escrito. El "mysql>"El prefijo también es un mensaje. Ese es el mensaje que aparece cuando ejecutaMySQLinteractivamente.

Este es elcli(línea de comando) para hacer esto:
(Asegúrate dedetener el servidor actualantes de realizar los pasos. Sólo se puede ejecutar un servidor a la vez).

$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
$ sudo mysqld_safe --skip-grant-tables&

Ahora puede iniciar sesión como root sin contraseña y ejecutar todos los comandos, como en este caso, establezca la contraseña de root como root.

$ sudo mysql --user=root mysql

Esta es la contraseña de root establecida que ejecutará dentro de MySQL si tiene MySQL 5.6 o inferior:

mysql> update user set Password=PASSWORD('new-password') where user='root';
flush privileges;

En MySQL 5.7 o superior

mysql> update user set authentication_string=PASSWORD('new-password') where user='root';
flush privileges;

Desde allí, cierre (elimine el msqld en ejecución) mysql e inícielo normalmente.

Notas sobre cómo iniciar y detener el servicio mysql:

Detener MySQL:

$ sudo service mysql stop

Inicie mysql (normal):

$ sudo service mysql start

Elimine la sesión temporal de modo seguro de MySQL:

$ sudo mysqladmin shutdown

Respuesta2

No le solicitará la contraseña durante la instalación mysqlen Ubuntu 16.04, pero puede configurarla después de una instalación exitosa de la siguiente manera:

Después de completar la instalación de MySQL, ejecute el comando:

sudo mysql_secure_installation

Mostrará:

NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN! ¡POR FAVOR LEA CADA PASO CUIDADOSAMENTE!

Para iniciar sesión en MariaDB y protegerlo, necesitaremos la contraseña actual para el usuario root. Si acaba de instalar MariaDB y aún no ha establecido la contraseña de root, la contraseña estará en blanco, por lo que simplemente debe presionar Intro aquí.

Enter current password for root (enter for none): (aquí presione Enter)

OK, contraseña utilizada correctamente, continuando...

Establecer la contraseña de root garantiza que nadie pueda iniciar sesión como usuario root de MariaDB sin la autorización adecuada.

Set root password? [Y/n] y   (press 'y' to set new password)
New password: 
Re-enter new password:

¡Contraseña actualizada exitosamente! Recargando tablas de privilegios.. ... ¡Éxito!


Para Ubuntu 18.04 O mysql-serverversión 5.7.22, ESTE MÉTODO NO FUNCIONARÁ

Para configurar la contraseña de root en Ubuntu 18.04, primero siga los primeros tres comandos o los primeros dos pasos deLa respuesta de LD Jamesentonces corre,

mysql> alter user 'root'@'localhost' identified by '<password>';

¡La contraseña para el usuario root está configurada!

O

Siga estos pasos para configurar la contraseña de root en 18.04:

Como no hay una contraseña establecida para el usuario root, simplemente inicie sesión concontraseña en blanco

sudo mysql -u root -p
Enter password: (press enter as no password is set)

después de eso puede ejecutar la consulta fácilmente

ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';

Respuesta3

Después de la instalación simplemente:

  1. sudo mysql (sí, ningún usuario no tiene pase)

  2. Ahora estás en la consola MySQL. Ejecutar:

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

  3. FLUSH PRIVILEGES;

Eso es todo. Ahora podrás ingresar a la consola la próxima vez como de costumbre:

mysql -u root -pmy_new_pass

Respuesta4

  1. hay una cuenta de usuario predeterminada.

    $ vim /etc/mysql/debian.cnf 
    

    Obtendrá esta cuenta de esta manera:

    user     = debian-sys-maint
    password = nUZTARYslBsASzpw
    
  2. inicias sesión con esta cuenta

    $ mysql -u debian-sys-maint -p
    
  3. editar tu contraseña de root

    mysql> show databases;
    
    mysql> use mysql;
    
    mysql> update user set authentication_string=PASSWORD("new_password") where user='root';
    
    mysql> update user set plugin="mysql_native_password";
    
    mysql> flush privileges;
    
    mysql> quit;
    
  4. reiniciar mysql

    $ /etc/init.d/mysql restart;
    

entonces puedes hacerlo mysql -u root -pcon tu configuración anterior.

información relacionada