instalar - Contraseña predeterminada de mysql en el servidor ubuntu 16.04
reset root password mysql ubuntu (7)
- el primero debes dejar de mysql
- use este comando
sudo mysqld_safe --skip-grant-tables --skip-networking &
- y luego ingrese
mysql -u root
intente de esta manera, he resuelto mi problema con este método.
He instalado el servidor ubuntu 16.04. El servidor Mysql se instaló por defecto en él. Cuando intento acceder a mysql con mysql -u root -p
, no puedo iniciar sesión en mysql porque no tengo la contraseña. ¿Hay alguna contraseña por defecto?
También he intentado con --skip-grant-tables
, incluso esto no funciona. Incluso intentar iniciar sesión con solo mysql -u root
es un error.
Creo que otro lugar para mirar es /var/lib
. Si vas allí, puedes ver tres carpetas de mysql con permisos ''interesantes'':
user group
mysql mysql
Esto es lo que hice para resolver mi problema con la contraseña de root:
despues de correr
sudo apt-get purge mysql*
sudo rm -rf /etc/mysql
También ejecuté lo siguiente (en lugar de poner mi nombre de usuario, póngalo):
cd /var/lib
sudo chown --from=mysql <my_username> mysql* -R
sudo rm -rf mysql*
Y entonces:
sudo apt-get install mysql-server
lo que me llevó a seleccionar una nueva contraseña de root. Espero que ayude
Esto es lo que buscas:
sudo mysql --defaults-file=/etc/mysql/debian.cnf
MySql en Debian-base Linux usualmente usa un archivo de configuración con las credenciales.
Mysql por defecto tiene el complemento de autenticación del usuario raíz como auth_socket
, que requiere que el nombre de usuario del sistema y el nombre de usuario de la base de datos sean los mismos.
Específicamente, inicie sesión como root o sudo -i
y simplemente escriba mysql
y se iniciará sesión como mysql root
, luego puede crear otros usuarios operativos.
Si no tiene una raíz en el host, supongo que no debería tener permiso para iniciar sesión en mysql como root.
Simplemente ejecute sudo dpkg-reconfigure mysql-server-5.7
Puede encontrar la versión que ha instalado ejecutando dpkg --get-selections | grep mysql-server
dpkg --get-selections | grep mysql-server
Simplemente puede restablecer la contraseña de root ejecutando el servidor con --skip-grant-tables e iniciando sesión sin contraseña ejecutando lo siguiente como root o con sudo:
service mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User=''root'';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Tuve una instalación nueva de mysql-server
en Ubuntu 18.10 y no pude iniciar sesión con la contraseña predeterminada. Entonces solo tengo que saber que el usuario root predeterminado se autentica usando auth_socket
. Entonces, como en la respuesta cuando el complemento cambió a mysql_native_password
, podemos usar la contraseña predeterminada de mysql
$ sudo apt install mysql-server
$ sudo cat /etc/mysql/debian.cnf
Puedes encontrar las siguientes líneas allí
user = debian-sys-maint
password = password_for_the_user
Entonces:
$ mysql -u debian-sys-maint -p
Enter password:
escriba la contraseña de debian.cnf
mysql> USE mysql
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User | Host | plugin |
+------------------+-----------+-----------------------+
| root | localhost | auth_socket |
| mysql.session | localhost | mysql_native_password |
| mysql.sys | localhost | mysql_native_password |
| debian-sys-maint | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)
mysql> UPDATE user SET plugin=''mysql_native_password'' WHERE User=''root'';
mysql> COMMIT;
Ya sea:
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''new_password'';
O:
// Para MySQL 5.7+
mysql>UPDATE mysql.user SET authentication_string=PASSWORD(''new_password'') where user=''root'';