blog webempresa

Crear usuarios en base de datos MySQL

por | Nov 19, 2025 | Tutoriales WordPress Avanzados

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

Cuando trabajamos con sitios web dinámicos, tarde o temprano nos encontramos con un punto que puede generar bastante respeto, se trata de la base de datos. Y dentro de ese mundo, uno de los pasos más importantes es crear usuarios en base de datos MySQL de forma correcta.

Puede que ya tengamos nuestra web funcionando, tal vez sea un WordPress, otro CMS o una aplicación propia, pero en algún momento necesitamos dar acceso a otro usuario, mejorar la seguridad WordPress o solo dejar de usar la cuenta genérica que viene por defecto en el hosting web. Ahí empiezan las dudas: ¿qué usuario uso?, ¿qué permisos le doy?, ¿y si rompo algo?

Crear usuarios específicos para cada proyecto o tarea no es un capricho que tengamos, es una medida para proteger nuestra información y controlar en gran medida quién puede hacer qué dentro de MySQL. En lugar de trabajar siempre con un usuario con permisos totales, podemos definir cuentas más limitadas, solo con los privilegios necesarios para que nuestra web funcione sin exponer toda la base de datos.

La buena noticia es que crear usuarios en base de datos MySQL no implica pelearse con una pantalla negra llena de comandos, a menos que queramos. La mayoría de paneles de hosting, como wepanel, incluyen asistentes y secciones específicas para gestionar bases de datos y usuarios con unos pocos clics. Y, si más adelante queremos ir un paso más allá, también podremos ver cómo hacerlo desde phpMyAdmin o mediante sentencias SQL directas.

La idea es que, al terminar, tengamos el control de quién accede a nuestra base de datos, con qué permisos y para qué, sin miedo a equivocarnos y con la tranquilidad de saber qué estamos haciendo. ¡Vamos a ello!

¿Qué es una base de datos MySql?

 

Antes de ponernos manos a la obra con crear usuarios en base de datos MySQL, es importante entender qué es esa base de datos de la que tanto hablamos. De forma sencilla, podemos decir que una base de datos MySQL es un sistema donde se guarda, ordena y gestiona toda la información que utiliza nuestra web o aplicación. En lugar de tener los datos desperdigados en archivos sueltos, MySQL los organiza en tablas, filas y columnas, algo muy parecido a una hoja de cálculo, pero pensada para trabajar de forma rápida y segura incluso con miles de registros.

Cada vez que alguien visita nuestro sitio, inicia sesión en WordPress, envía un formulario o realiza una compra, esa información no desaparece, por el contrario se guarda en la base de datos. 

Por ejemplo, en una instalación de WordPress, las entradas del blog, los usuarios registrados, los comentarios de WordPress o las opciones de configuración se almacenan en tablas dentro de una misma base de datos MySQL. Nuestro sitio se conecta a ella para leer y escribir datos sin que el usuario lo note.

MySQL, además, no solo se encarga de almacenar, sino también de permitir que consultemos la información de manera muy específica, ya sea buscar un usuario concreto, filtrar pedidos por fecha, listar las últimas entradas publicadas, etc.

base de datos MySQL

Todo esto se hace mediante consultas que el propio sistema interpreta y ejecuta. Por eso es tan importante que el acceso esté bien controlado y que solo las personas o aplicaciones que lo necesitan puedan entrar.

Aquí es donde empieza a cobrar sentido hablar de crear usuarios en base de datos MySQL. La base de datos es el cofre donde está la información, pero los usuarios MySQL son las llaves que permiten abrirlo con más o menos permisos. Si entendemos que la base de datos es el corazón de nuestro proyecto, veremos claro por qué no conviene usar una única llave para todo y por qué merece la pena crear usuarios específicos con los privilegios justos y necesarios.

En los siguientes puntos iremos viendo cómo hacerlo de forma ordenada y segura.

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

 

Ahora que tenemos más claro qué es una base de datos, el siguiente paso lógico antes de crear usuarios en base de datos MySQL es entender qué tipo de roles o niveles de acceso podemos asignar, según los permisos de WordPress. Al final, no se trata solo de crear un usuario y listo, sino de decidir qué puede hacer ese usuario dentro de la base de datos. Aquí es donde entra en juego la idea de los privilegios y los diferentes perfiles que podemos construir.

En MySQL no encontramos roles bonitos con nombres amigables como en algunas aplicaciones (editor, suscriptor, etc.), sino un conjunto de privilegios que podemos combinar para adaptarlos a lo que necesitamos. Aun así, podemos pensar en varios tipos de usuario habituales:

Usuario con permisos completos sobre una base de datos concreta: sería el equivalente a un administrador de esa base de datos. Puede crear tablas, modificarlas, borrar registros, hacer copias, etc. Es el tipo de usuario que suele usar una aplicación web compleja o el desarrollador que administra la estructura y los datos.

Usuario de solo lectura: muy útil cuando queremos que alguien pueda consultar información, generar informes o conectarse desde una herramienta externa sin riesgo de que borre o modifique datos por error. A este tipo de usuario se le conceden privilegios para ver, pero no para tocar.

Usuario de lectura y escritura limitada: aquí podríamos insertar y actualizar registros, pero sin darle permisos para alterar la estructura (crear o borrar tablas, por ejemplo). Es un equilibrio interesante para muchas aplicaciones en producción ya que la web necesita escribir datos (usuarios, pedidos, formularios), pero no debería tener capacidad de cambiar la arquitectura de la base de datos. 

programador decodificando

Cuando vamos a crear usuarios en base de datos MySQL, lo habitual es trabajar con combinaciones de privilegios como SELECT, INSERT, UPDATE, DELETE (para trabajar con los datos) y otros más avanzados como CREATE, ALTER o DROP (para trabajar con la estructura). La clave está en aplicar el principio de mínimo privilegio y en base a esto darle a cada usuario solo lo que necesita para cumplir su función y nada más.

De la misma forma, es importante recordar que estos privilegios pueden definirse a distintos niveles, para todas las bases de datos del servidor, para una base de datos concreta o incluso para tablas específicas. Esto nos permite afinar mucho el control de acceso.

Por ejemplo, podríamos tener un usuario con permisos completos sobre una base de datos de desarrollo y, al mismo tiempo, un usuario más restringido para la base de datos de producción.

Entender bien estos posibles roles nos va a ayudar muchísimo en los siguientes pasos. Cuando pasemos a la parte práctica de crear usuarios en base de datos MySQL, tendremos más claro qué tipo de usuario debemos generar en cada caso y qué casillas marcar cuando estemos asignando privilegios, ya sea desde el panel del hosting, desde phpMyAdmin o mediante comandos SQL. De esta forma, mantenemos nuestro entorno más seguro y ordenado desde el primer momento.

¿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.

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?

Promo hosting Webempresa julio 2025