
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 1045
cuando intenté iniciar sesión root
y mysql_secure_installation
arrojé el mismo error. Luego reinstalé d purge
y autoremove
d 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 mysql
en 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-server
versió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:
sudo mysql
(sí, ningún usuario no tiene pase)Ahora estás en la consola MySQL. Ejecutar:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';
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
hay una cuenta de usuario predeterminada.
$ vim /etc/mysql/debian.cnf
Obtendrá esta cuenta de esta manera:
user = debian-sys-maint password = nUZTARYslBsASzpw
inicias sesión con esta cuenta
$ mysql -u debian-sys-maint -p
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;
reiniciar mysql
$ /etc/init.d/mysql restart;
entonces puedes hacerlo mysql -u root -p
con tu configuración anterior.