blog webempresa

Crear usuarios en base de datos MySQL

por | Nov 21, 2023 | Tutoriales WordPress Avanzados

¿Cómo enviar emails a usuarios registrados en WordPress?

En el vasto universo de la gestión de bases de datos, MySQL se destaca como una herramienta poderosa y versátil, esencial para cualquier desarrollador o administrador de CMS de WordPress. La creación y administración de usuarios en MySQL no es solo una tarea rutinaria, sino una habilidad crucial para asegurar la eficiencia y seguridad de tus bases de datos.

Esta guía está diseñada para llevarnos de la mano en el proceso de crear usuarios en MySQL, una habilidad fundamental en el mundo del desarrollo y la administración de bases de datos WordPress.

Ya seamos un desarrollador web experimentado o estemos dando los primeros pasos en la administración de bases de datos, esta guía nos va a proporcionar una comprensión clara y práctica de cómo crear usuarios en MySQL y asignarles los permisos adecuados.

A través de explicaciones detalladas y ejemplos prácticos, vamos a ver cómo manejar esta tarea esencial con confianza y precisión. Preparémonos par sumergirnos en el mundo de MySQL y dominar el arte de crear y gestionar usuarios, un paso clave para asegurar y optimizar tus bases de datos.

¿Qué es una base de datos MySql?

 

En el corazón de casi todas las aplicaciones web modernas, yace una pieza fundamental: la base de datos. Y entre ellas, MySQL brilla como una de las más populares y robustas. Pero, ¿qué hace a MySQL tan especial?

MySQL es un sistema de gestión de bases de datos relacional (RDBMS) basado en SQL (Structured Query Language), el lenguaje estándar para operaciones de bases de datos. Lo que convierte a MySQL en una herramienta increíble por su facilidad de uso, siendo ideal tanto para pequeñas aplicaciones como para grandes sistemas.

Una base de datos MySQL es como un gran almacén digital, donde la información se guarda en tablas. Estas tablas permiten organizar de forma eficiente y rápida los datos, facilitando búsqueda, actualización y gestión de la información.

Lo que hace resaltar a MySQL es su naturaleza de código abierto. Esto significa que la comunidad de desarrolladores contribuye de forma constante a mejorarlo, asegurando que sea una solución de base de datos segura, eficiente y, sobre todo, al día con las últimas tendencias y necesidades tecnológicas.

Si bien en esta guía veremos como aplicar estos ajustes en MySQL, en las primeras partes estaremos utilizando PhpMyAdmin, esta es una aplicación que se utilizan en los cPanel y wepanel para administrar los datos de MySQL de forma más sencilla. El objetivo principal de este es poder mostrar los datos de una forma más amistosa, esto debido a que no siempre podemos ingresar a consolas de programación MySQL.

base de datos MySQL

¿Cuales son los roles posibles de usuarios en base de datos MySql?

 

En lo que respecta a las bases de datos MySQL, cada usuario puede tener un rol específico, definido por el conjunto de permisos y capacidades que se le asignan. Estos roles son cruciales para la seguridad y el funcionamiento eficiente de la base de datos. Veamos los roles más comunes:

Administrador de la base de datos (DBA): este es el superusuario en el mundo de MySQL. Con acceso total, el DBA puede crear y eliminar bases de datos, modificar esquemas, gestionar usuarios y sus permisos en WordPress, y realizar tareas de mantenimiento críticas. Es el guardián de la base de datos, asegurando su integridad y seguridad.

Desarrollador o programador: este rol suele tener permisos para crear, modificar y eliminar tablas y vistas, así como para insertar, actualizar y eliminar datos. Sin embargo, sus permisos son más limitados en comparación con el DBA, enfocándose en el desarrollo y mantenimiento de aplicaciones que interactúan con la base de datos.

programador decodificando

De la misma forma que tenemos los más comunes, también contamos con otro tipo de usuario, un poco menos común, pero de igual forma es útil tenerlos en cuenta:

Analista de datos: los analistas tienen permisos de solo lectura. Su función es extraer información valiosa de los datos almacenados, realizando consultas complejas, pero sin modificar la estructura o el contenido de la base de datos.

Usuario de aplicación: este rol está diseñado para cuentas que acceden a la base de datos a través de aplicaciones específicas. Sus permisos están limitados a las operaciones necesarias para la función de la aplicación, como insertar, actualizar o leer datos específicos.

Usuario de solo lectura: como su nombre lo indica, este usuario solo puede leer datos de la base de datos. Es ideal para situaciones donde se necesita acceso a la información sin el riesgo de alterarla.

¿Cómo crear un usuario MySQL?

 

Crear un usuario en MySQL es un paso fundamental para gestionar el acceso y la seguridad de WordPress de nuestra base de datos. Si bien en algunas partes podemos ver guías complicadas de como crear un usuario para bases de datos, podemos sacar provecho de las herramientas que tenemos a disposición en nuestros cPanel o wpanel, según sea el caso.

Los pasos que vamos a ver a continuación están orientados a un wepanel, sin embargo, en caso de tener un cPanel las opciones serán similares y podemos hacer referencia a ellas dentro de esta guía, de la misma forma que si contamos con una consola de MySQL al final del todo tendremos un apartado en caso de que queramos hacerlo.

Recordando que los paneles de administración actuales trabajan con una interfaz más simple en unión a este MySQL para poder trabajar sin tantas complicaciones y códigos personalizados.

Ingreso al panel

 

Como primer punto y fundamental es poder tener acceso a nuestro panel de administración o wepanel, para ello podemos acceder de forma rápida mediante el inicio de sesión de nuestra página de acceso a cliente, una vez que iniciemos sesión vamos a ver todo un mar de opciones.

Para no hacer de este proceso que es sencillo, algo engorroso, vamos a hacer clic en Mis productos, seguido de esto vamos a hacer scroll a la página que nos carga para luego hacer clic en el botón que hace indicación para ingresar al panel.

ingreso al panel

Una vez hacemos clic en este botón, tendremos acceso a nuestro panel de administración o wepanel en el caso de tenerlo, sí, por el contrario, tenemos un cPanel fuera de nuestro sistema de webempresa va a variar un poco el cómo llegar a él.

Sin embargo, el proceso es similar solo debemos buscar el botón que nos lleve a este panel.

Luego de que ingresamos vamos a ver una gran cantidad de opciones, esto puede parecer un poco abrumador a un comienzo, pero no hay de que preocuparnos, veremos qué herramienta es la que debemos seleccionar para poder ir paso a paso.

Gestión de bases de datos

 

Como mencionamos antes, la cantidad de opciones puede ser abrumadora. El primer paso debe ser crear un usuario para esta base de datos ya creada. Por lo general, esto es necesario para cambiar ciertos ajustes de nuestra base de datos o para modificar herramientas con las que trabajará nuestro sitio web en WordPress.

Para poder crear el usuario si estamos en un wepanel debemos hacer clic en el botón respectivo de Gestión de bases de datos. Esto nos habilitará una serie de opciones en la que destacan la creación del usuario que necesitamos crear.

Gestion de bases

Una vez dentro de este panel o menú, veremos varias herramientas en la parte superior, veremos un breve resumen de que hacer con estas opciones luego, sin embargo, la opción que en realidad nos interesa por ahora es la tercera que podemos ver, indicada con el nombre de Crear un usuario.

Esta opción nos mostrará un sencillo asistente en el que podemos crear un usuarios para nuestra base de datos teniendo en cuenta que para su uso posterior tenemos que realizar ciertas acciones en relación con nuestra base de datos.

Crear usuario

Una vez hagamos clic en el botón de acceder y nos encontremos dentro de nuestro panel de creación de usuario nos encontraremos dos opciones, estas corresponderán al nombre del usuario y a la contraseña que este va a tener.

Nombre de usuario: debemos seleccionar o escribir un nombre para poder identificar y encontrar el usuario de forma sencilla tanto en posteriores paneles como también para que sea de fácil acceso recordando estas credenciales.

Contraseña: como su nombre lo indica no es más que la clave que este usuario va a necesitar para poder en este caso iniciar sesión en nuestra base de datos y poder trabajar con ella.

Una vez tenemos asignado estos dos elementos tendremos a la mano dos opciones, una de ellas solo nos permitirá reiniciar los datos que tenemos en esta página, por el contrario, la otra nos creara el usuario con los datos que hemos introducido, una vez creado podemos pasar al siguiente punto.

Crear usuario completado

En casos donde tengamos un cPanel, el proceso no varía mucho, en la mayoría de los casos nos encontraremos con un buscador en la parte superior del todo, aquí buscamos el elemento de usuario de base de datos.

Esto nos mostrará la aplicación a la que se debe hacer referencia para crear el usuario, seguido de esto tendremos un panel similar donde tendremos que agregar nuestro nombre y la clave de acceso.

Creación de usuario fuera de un panel de administración

 

Si, por el contrario, nos encontramos en la situación donde no contamos con un panel de administración y buscamos crear el usuario por medio de código en nuestro MySQL, entonces la situación se complica un poco, pero de la misma forma resulta ser solucionable.

Lo primero que tendremos que hacer es ingresar a nuestra consola de MySQL:

CREATE USER 'nuevousuario'@'IP_DEL_SERVIDOR' IDENTIFIED BY 'clave';

En este código tendremos lo necesario, sin embargo, el elemento de nuevousuario, será el nombre que asignemos para el usuario que estemos creando, de la misma forma que IP_DEL_SERVIDOR, se debe sustituir por nuestra IP en uso, si nos encontramos en un localhost debemos indicarlo aquí.

Por último, pero no menos importante, la contraseña debemos asignarla en el campo o texto de clave. Sin embargo, este usuario creado no puede aún realizar ningún ajuste a nivel de nuestra base de datos porque no cuenta con los privilegios necesarios. Incluso si este usuario inicia sesión con las credenciales que le hemos asignado no podrá ingresar a la consola.

GRANT ALL PRIVILEGES ON * . * TO 'nuevousuario'@'IP_DEL_SERVIDOR';

De nuevo tendremos dos variables que hemos visto en el código anterior, estas corresponden a nuevousuario y a la IP_DEL_SERVIDOR, como hemos mencionado antes, si estamos en un entorno de localhost lo cambiaríamos a esto.

Al tener estos dos comandos ejecutados tendremos nuestro usuario creado, de la misma forma, es bueno que hagamos un vaciado de la caché para que nuestro sistema tome en cuenta el nuevo usuario creado, para esto agregamos el siguiente código.

FLUSH PRIVILEGES;

¿Cómo dar privilegios a los usuarios MySQL?

 

Asignar privilegios a los usuarios en MySQL es un paso crucial para garantizar tanto la seguridad como la funcionalidad adecuada de nuestra base de datos. Asignar los privilegios correctos es fundamental para mantener la base de datos segura y operativa. Asegurémonos de otorgar solo los privilegios necesarios para cada usuario, minimizando así cualquier riesgo potencial.

Si bien el proceso puede parecer complicado los privilegios de forma general no son muy complicados y aún más cuando tenemos a la manos las herramientas que nos proporciona el wepanel o cPanel, según sea el caso.

Lo primero que debemos hacer para esto es, buscar de nuevo el panel de gestión de bases de datos, el mismo donde hemos ingresado para crear nuestros usuarios solo que esta vez vamos a hacer clic en la última opción, indicada como Permisos.

Al ingresar en ella veremos una serie de selectores y en los cuales como primera opción tendremos que seleccionar la base de datos con la que vamos a trabajar o asignar un usuario.

Luego buscamos de la segunda lista el usuario que hemos creado y que vamos a otorgar privilegios según sea el caso.

Asignar usuario y permiso

Si hablamos de bases de datos y usuarios con privilegios, debemos tomar en cuenta que cada privilegio otorga una capacidad específica al usuario. Comprender cada uno de ellos es clave para una gestión efectiva y segura de nuestra base de datos. Entre los privilegios que podemos otorgar tenemos:

ALTER: se usa para modificar la estructura de las tablas existentes, como añadir o eliminar columnas. Clave para usuarios que gestionan y optimizan la estructura de datos.

CREATE y CREATE TEMPORARY TABLES: permite al usuario crear nuevas tablas y bases de datos. Esencial para roles de desarrollo y administración de bases de datos.

DELETE: concede el permiso para eliminar registros de las tablas. Debe usarse con precaución, ya que permite la eliminación de datos.

EVENT: permite al usuario crear, modificar y eliminar eventos programados, lo que es útil para operaciones de mantenimiento o tareas repetitivas.

INDEX: permite crear o eliminar índices. Los índices son cruciales para mejorar la velocidad de búsqueda y acceso a los datos.

LOCK TABLES: concede el permiso para bloquear tablas durante el proceso de manipulación de datos. Útil para mantener la integridad de los datos durante operaciones complejas.

SELECT: permite al usuario leer datos en la base de datos. Esencial para cualquier usuario que necesite acceder a la información almacenada.

TRIGGER: otorga la capacidad de crear y eliminar disparadores (triggers). Los triggers son procedimientos automáticos que se activan en respuesta a ciertas acciones en la base de datos.

ALTER ROUTINE: permite al usuario modificar o eliminar procedimientos almacenados. Esto es crucial para roles que requieren mantener y actualizar lógicas de negocio complejas implementadas en la base de datos.

CREATE ROUTINE: habilita la creación de nuevos procedimientos almacenados y funciones. Estos elementos son fundamentales para encapsular lógicas de negocio complejas y operaciones recurrentes dentro de la base de datos.

CREATE VIEW: concede el permiso para crear vistas. Las vistas son consultas almacenadas que presentan los datos de una manera específica, facilitando el acceso a información compleja o combinada de múltiples tablas.

DROP: habilita la eliminación de tablas y bases de datos. Este privilegio es poderoso y de forma potencial peligroso, por lo que debe asignarse con cuidado.

EXECUTE: permite ejecutar procedimientos almacenados. Importante para usuarios que trabajan con operaciones automatizadas y scripts complejos.

INSERT: otorga la capacidad de añadir nuevos registros a las tablas. Ideal para usuarios que necesitan agregar datos, pero no modificar los existentes.

REFERENCES: otorga permisos para crear relaciones entre tablas. Fundamental para mantener la integridad referencial en bases de datos relacionales.

SHOW VIEW: permite al usuario ver la definición de las vistas existentes. Este privilegio es importante para roles que necesitan entender y analizar cómo se estructuran y se accede a los datos a través de las vistas.

UPDATE: habilita al usuario para modificar registros existentes. Importante para roles que requieren mantener la información actualizada.

asignar permisos

Una vez completados todos estos ajustes ya podemos asignar los privilegios a nuestro usuario, haciendo clic en el botón de Vincular. Esto nos regresará al panel anterior con todos los ajustes asignados y el usuario ya vinculado a la base de datos, listo para realizar la acción que queríamos otorgarle.

Otorgar privilegios fuera de un panel de administración

 

De la misma forma que hemos hecho con la creación del usuario, en caso de no contar con un panel que nos facilite en gran medida el trabajo, ya sea el caso de un cPanel o wepanel, y tengamos que trabajar de forma directa con una consola de MySQL podemos asignar los privilegios necesarios a nuestro usuario que hemos creado con anticipación.

Para esto utilizaremos el siguiente código:

GRANT tipo_de_permiso ON basededatos.nombredelatabla TO 'nuevousuario'@'IP_DEL_SERVIDOR';

En este caso se complica un poco más el código, pero al tener elementos que no se modifican tanto es un poco menos lo que tenemos que comprender, lo primero es que tanto nuevousuario como IP_DEL_SERVIDOR son dos datos que ya hemos utilizado antes.

Lo próximo sería basededatos y nombredelatabla, esto tiene que ser sustituido por nuestro nombre de base de datos y la tabla a la que queremos que el usuario tenga estos permisos. Recordemos que en casos donde el usuario pueda acceder a todo se debe utilizar asterisco (*) esto hará que tenga los mismos privilegios para toda la información.

Por último, tipo_de_permiso corresponde a todos los permisos que hemos visto de una forma más amigable disponible en nuestro wepanel, algunos cPanel también las poseen, pero esto puede variar según la versión MySQL con la que estemos trabajando.

Si por ejemplo queremos utilizar el privilegio de create view en este nuevo usuario el código sería el siguiente:

GRANT CREATE VIEW ON basededatos.nombredelatabla TO 'nuevousuario'@'IP_DEL_SERVIDOR';

Conclusiones

 

La creación y gestión de usuarios en una base de datos MySQL es un aspecto fundamental para la administración eficiente y segura de tus datos. Al comprender qué es MySQL y la importancia de asignar roles y privilegios adecuados, puedes asegurar que cada usuario tenga el nivel de acceso necesario para realizar sus tareas sin comprometer la seguridad de la base de datos.

Desde la creación de un usuario simple hasta la asignación de privilegios específicos, cada paso contribuye a una gestión más refinada y controlada. Ya sea que estemos trabajando desde cPanel o wepanel, la flexibilidad nos permite adaptar la base de datos a nuestras necesidades específicas.

Recordemos que cada privilegio, desde el acceso a consultas básicas hasta permisos para crear vistas o triggers, tiene un impacto significativo en la operatividad y seguridad de la base de datos. Por lo tanto, es crucial entender y asignar estos privilegios con cuidado y precisión.

Al final del día, la gestión de usuarios en MySQL no es solo una cuestión de control, sino también de optimización y seguridad. Con las prácticas adecuadas, podemos asegurar que nuestra base de datos no solo sea robusta y eficiente, sino también un entorno seguro y bien regulado para todos sus usuarios.

¿Te ha resultado útil este artículo?

Banner 70 descuento Marzo