0% encontró este documento útil (0 votos)
81 vistas3 páginas

Método de Autenticación en MySQL

Cargado por

Rick D. Gaviria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
81 vistas3 páginas

Método de Autenticación en MySQL

Cargado por

Rick D. Gaviria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Cambiar el método de autenticación en MySQL

By Darío Rivera
Posted on 2019-09-29 in MySQL

Tags   MySQL 8
Categorías
0 De seguro si programas en PHP u otros lenguajes que utilicen las últimas versiones Laravel
Me gusta de MySQL has visto alguna vez este el siguiente error al momento de realizar la Sublime Text
Compartir autenticación: OpenSSL
PHPUnit
The server requested authentication method unknown to the client [caching_sha2_password] Go
Apache
Esto se debe a que en las últimas versiones de MySQL el método de autenticación por defecto es
Docker
caching_sha2_password  en contraposición al clásico mysql_native_password. Algunos
MySQL
lenguajes como PHP aún no soportan este nuevo método de autenticación, por lo cuál los usuarios
OWASP
que se usen para realizar operaciones en mysql desde estos lenguajes deben tener el método
SOLID
clásico de autenticación. A continuación veremos cómo cambiar el método de autenticación para
JOSE
uno o todos los usuario de la base de datos.
PostgreSQL
Static Code Analysis
Identificación del método o plugin de autenticación SSH
Para identificar que usuarios están registrados en la base de datos y que plugin de autenticación Digital Ocean
utiliza cada uno deberás ingresar con root y ejecutar el siguiente comando: Java
Javascript
select User, plugin from mysql.user; GNU/Linux Debian
PHP
Deberás obtener un resultado similar al siguiente: POO
Lenguaje C
+------------------+-----------------------+ Lenguaje C++
| User | plugin |
RegExp
+------------------+-----------------------+
HTML
| some_user | caching_sha2_password |
| mysql.infoschema | caching_sha2_password | Vue.js
| mysql.session | caching_sha2_password | HTTP
| mysql.sys | caching_sha2_password | Redis
| root | caching_sha2_password | Supervisor
+------------------+-----------------------+ Buenas prácticas
Ubuntu
Como puedes ver, todos los usuarios tiene el plugin nuevo de autenticación.
Webpack
Vim
Cambiar el plugin para todos los usuarios Linux
Antes que nada, el siguiente procedimiento funciona únicamente para los nuevos usuarios, los Arch Linux
usuarios ya registrados seguirán conservando el método de autenticación con el que fueron
creados. Lo primero que debes hacer es localizar el archivo my.cnf y abrirlo con tu editor de texto
preferido, en mi caso, vim.

Distribuciones linux basadas en GNU\Linux Debian:

sudo vim /etc/mysql/my.cnf

MacOS con homebrew:

sudo vim /usr/local/etc/my.cnf

Enseguida debes agregar la siguiente línea al final de archivo:

default_authentication_plugin=mysql_native_password

Lo siguiente sería reiniciar el servidor de mysql, aunque no estoy seguro si es realmente necesario.

Cambiar el plugin para un solo usuario


Para cambiar el plugin de un solo usuario debes entrar con el usuario root y ejecutar el siguiente
comando en donde deberás reemplazar some_user por el usuario que deseas cambiar y mypass
por el nuevo password.
Para MySQL < 8.0.11

UPDATE mysql.user SET authentication_string = PASSWORD('mypass') WHERE user = 'some_user';

Para MySQL >= 8.0.11

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


'secret_usr';

Si lo que deseas es dejar el password en blanco para que el usuario ingrese y lo cambie, deberás
dejar el campo authentication_string en NULL.

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'some_user',


authentication_string=NULL;

Enseguida debes recargar los privilegios con

FLUSH PRIVILEGES;

Si ejecutaste el script para dejar el password en blanco deberás ingresar con el usuario en
cuestión y configurar el nuevo password con el siguiente comando:

SET PASSWORD = 'mypass';

Crear un usuario con plugin definido


Si ya deseas crear un usuario con un plugin diferente al que está configurado por defecto, debes
agregar la cláusula WITH para indicar explícitamente el plugin. 

CREATE USER 'declarations_usr'@'localhost' IDENTIFIED WITH mysql_native_password BY


'secret_usr';

Eso es todo, hasta la próxima!.

Me gusta

Si te ha gustado este artículo puedes


invitarme a tomar una taza de café

Desarrollado por

Acerca de Darío Rivera


Ingeniero de desarrollo en PlacetoPay, Medellín. Darío ha trabajado por más de 6
años en lenguajes de programación web especialmente en PHP. Creador del
microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento
en que pensaron renunciar.

– Darío Rivera

0 comentarios Ordenar por Más antiguos

Agregar un comentario...

Plugin de comentarios de Facebook

© 2021 Pleets

También podría gustarte