Crear un usuario en MySQL y otorgar permisos de acceso remoto
- 365Palabras
- 2Minutos
- 20 Jul, 2024
En MySQL, crear un usuario con acceso remoto y otorgarle permisos a una base de datos específica es una necesidad común. Este artículo describe cómo realizar esta operación en detalle.
Paso 1: Iniciar sesión en MySQL
Primero, inicia sesión en MySQL como administrador (por ejemplo, usuario root):
1mysql -u root -p
Paso 2: Crear la base de datos y establecer la codificación
Crea una base de datos llamada project
y utiliza la codificación utf8mb4
:
1CREATE DATABASE project CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Paso 3: Crear un usuario y permitir el acceso desde cualquier dirección IP
Crea un usuario llamado myuser
y permite el acceso desde cualquier dirección IP. Establece una contraseña, por ejemplo, myuser_password
:
1CREATE USER 'myuser'@'%' IDENTIFIED BY 'myuser_password';
Paso 4: Otorgar permisos al usuario
Otorga todos los permisos en la base de datos project
al usuario myuser
:
1GRANT ALL PRIVILEGES ON project.* TO 'myuser'@'%';
Paso 5: Actualizar los permisos
Actualiza la tabla de permisos para que los cambios surtan efecto:
1FLUSH PRIVILEGES;
Script SQL completo
A continuación, se muestra el script SQL completo que cubre todos los pasos para crear la base de datos, el usuario y otorgar los permisos:
1-- Crear la base de datos y establecer la codificación2CREATE DATABASE project CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;3
4-- Crear el usuario y permitir el acceso desde cualquier dirección IP5CREATE USER 'myuser'@'%' IDENTIFIED BY 'myuser_password';6
7-- Otorgar permisos al usuario8GRANT ALL PRIVILEGES ON project.* TO 'myuser'@'%';9
10-- Actualizar los permisos11FLUSH PRIVILEGES;
Eliminar un usuario existente
Si ya existe un usuario llamado myuser
y deseas recrearlo, primero elimina el usuario existente:
1DROP USER 'myuser'@'localhost';2DROP USER 'myuser'@'%';3
4FLUSH PRIVILEGES;
Configurar MySQL para permitir el acceso remoto
Asegúrate de que el archivo de configuración de MySQL permita el acceso remoto. Edita el archivo de configuración de MySQL (por ejemplo, /etc/mysql/mysql.conf.d/mysqld.cnf
o /etc/my.cnf
) y encuentra la siguiente línea:
1bind-address = 127.0.0.1
Coméntala o modifícala a:
1bind-address = 0.0.0.0
Luego, reinicia el servicio de MySQL:
1sudo systemctl restart mysql
Configurar el firewall
Si tu servidor tiene un firewall, asegúrate de permitir el puerto de MySQL (usualmente 3306) a través del firewall. Por ejemplo, utilizando ufw
:
1sudo ufw allow 3306/tcp
Siguiendo estos pasos, podrás crear un usuario con acceso remoto a una base de datos MySQL y otorgarle los permisos necesarios para operar en la base de datos específica.