Introducción
En MySQL y MariaDB, puede crear usuarios que se conecten a la base de datos mediante autenticación de socket en lugar de la combinación tradicional de nombre de usuario y contraseña. Este método es seguro y conveniente, ya que utiliza las credenciales de usuario del sistema operativo. Así es como puedes configurarlo.
¿Qué es la autenticación de socket?
La autenticación de socket permite a un usuario conectarse a la base de datos sin contraseña, utilizando en su lugar sus credenciales de usuario de Unix o Linux. Esto es útil para entornos seguros. Esto simplifica los procesos de inicio de sesión al eliminar la necesidad de ingresar contraseñas para los usuarios frecuentes.
¿Como funciona?
La autenticación de socket funciona haciendo coincidir el usuario del sistema operativo con un usuario de MySQL/MariaDB. Cuando el usuario del sistema operativo inicia sesión, MySQL/MariaDB verifica su identidad a través del socket del sistema, lo que permite el inicio de sesión sin contraseña.
Crear un usuario con autenticación de socket en MySQL
Veamos los pasos necesarios para crear un usuario con autenticación de socket en MySQL/MariaDB.
Paso 1: crear un usuario de Unix/Linux
Primero, cree un nuevo usuario de Unix/Linux si aún no tiene uno. Abra su terminal y use el siguiente comando:
sudo adduser myuser
Esto creará un nuevo usuario llamado "miusuario" en su sistema.
Paso 2: inicie sesión en MySQL/MariaDB
A continuación, inicie sesión en su servidor MySQL/MariaDB como usuario root:
sudo mysql -u root -p
Paso 3: crear un usuario con autenticación de socket
Una vez que haya iniciado sesión, cree un nuevo usuario de MySQL/MariaDB que utilice la autenticación auth_socket:
CREATE USER 'myuser'@'localhost' IDENTIFIED WITH auth_socket;
Este comando crea un usuario llamado "myuser" que puede conectarse desde "localhost" mediante autenticación de socket.
Paso 4: otorgar privilegios
Otorgue los privilegios necesarios al nuevo usuario. Por ejemplo, para otorgar todos los privilegios en una base de datos específica:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
Paso 5: aplique sus cambios
Aplicar cambios borrando privilegios:
FLUSH PRIVILEGES;
Paso 6: prueba tu conexión
Ahora, salga de MySQL/MariaDB e intente iniciar sesión como un nuevo usuario usando la autenticación de socket:
mysql -u myuser
Si todo está configurado correctamente, debería poder conectarse sin que se le solicite una contraseña.
Conclusión
Crear un usuario con autenticación de socket en MySQL/MariaDB hace que iniciar sesión sea más fácil y seguro. Utilice los detalles del usuario del sistema operativo en lugar de solicitar una contraseña separada para la base de datos. Si sigue estos pasos, podrá configurar rápidamente la autenticación de socket. De esta manera, los usuarios locales pueden acceder a la base de datos de forma segura y cómoda.